Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mojolicious::plugin::jsonconfig(3pm) [debian man page]

Mojolicious::Plugin::JSONConfig(3pm)			User Contributed Perl Documentation		      Mojolicious::Plugin::JSONConfig(3pm)

NAME
Mojolicious::Plugin::JSONConfig - JSON configuration plugin SYNOPSIS
# myapp.json { "foo" : "bar", "music_dir" : "<%= app->home->rel_dir('music') %>" } # Mojolicious my $config = $self->plugin('JSONConfig'); # Mojolicious::Lite my $config = plugin 'JSONConfig'; # Reads "myapp.json" by default my $config = app->config; # Everything can be customized with options my $config = plugin JSONConfig => {file => '/etc/myapp.conf'}; DESCRIPTION
Mojolicious::Plugin::JSONConfig is a JSON configuration plugin that preprocesses it's input with Mojo::Template. The application object can be accessed via $app or the "app" function. You can extend the normal config file "myapp.json" with "mode" specific ones like "myapp.$mode.json". A default configuration filename will be generated by decamelizing the application class with "decamelize" in Mojo::Util or from the application filename. The code of this plugin is a good example for learning to build new plugins, you're welcome to fork it. OPTIONS
Mojolicious::Plugin::JSONConfig inherits all options from Mojolicious::Plugin::Config and supports the following new ones. "template" # Mojolicious::Lite plugin JSONConfig => {template => {line_start => '.'}}; Attribute values passed to Mojo::Template object used to preprocess configuration files. METHODS
Mojolicious::Plugin::JSONConfig inherits all methods from Mojolicious::Plugin::Config and implements the following new ones. "parse" $plugin->parse($content, $file, $conf, $app); Process content with "render" and parse it with Mojo::JSON. sub parse { my ($self, $content, $file, $conf, $app) = @_; ... $content = $self->render($content, $file, $conf, $app); ... return $hash; } "register" my $config = $plugin->register($app, $conf); Register plugin in Mojolicious application. "render" $plugin->render($content, $file, $conf, $app); Process configuration file with Mojo::Template. sub render { my ($self, $content, $file, $conf, $app) = @_; ... return $content; } SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojolicious::Plugin::JSONConfig(3pm)

Check Out this Related Man Page

Mojolicious::Plugins(3pm)				User Contributed Perl Documentation				 Mojolicious::Plugins(3pm)

NAME
Mojolicious::Plugins - Plugin manager SYNOPSIS
use Mojolicious::Plugins; my $plugins = Mojolicious::Plugin->new; $plugins->load_plugin('Config'); DESCRIPTION
Mojolicious::Plugins is the plugin manager of Mojolicious. ATTRIBUTES
Mojolicious::Plugins implements the following attributes. "namespaces" my $namespaces = $plugins->namespaces; $plugins = $plugins->namespaces(['Mojolicious::Plugin']); Namespaces to load plugins from, defaults to Mojolicious::Plugin. # Add another namespace to load plugins from push @{$plugins->namespaces}, 'MyApp::Plugin'; METHODS
Mojolicious::Plugins inherits all methods from Mojo::EventEmitter and implements the following new ones. "emit_chain" $plugins = $plugins->emit_chain('foo'); $plugins = $plugins->emit_chain(foo => 123); Emit events as chained hooks. "emit_hook" $plugins = $plugins->emit_hook('foo'); $plugins = $plugins->emit_hook(foo => 123); Emit events as hooks. "emit_hook_reverse" $plugins = $plugins->emit_hook_reverse('foo'); $plugins = $plugins->emit_hook_reverse(foo => 123); Emit events as hooks in reverse order. "load_plugin" my $plugin = $plugins->load_plugin('some_thing'); my $plugin = $plugins->load_plugin('SomeThing'); my $plugin = $plugins->load_plugin('MyApp::Plugin::SomeThing'); Load a plugin from the configured namespaces or by full module name. "register_plugin" $plugins->register_plugin('some_thing', $app); $plugins->register_plugin('some_thing', $app, foo => 23); $plugins->register_plugin('some_thing', $app, {foo => 23}); $plugins->register_plugin('SomeThing', $app); $plugins->register_plugin('SomeThing', $app, foo => 23); $plugins->register_plugin('SomeThing', $app, {foo => 23}); $plugins->register_plugin('MyApp::Plugin::SomeThing', $app); $plugins->register_plugin('MyApp::Plugin::SomeThing', $app, foo => 23); $plugins->register_plugin('MyApp::Plugin::SomeThing', $app, {foo => 23}); Load a plugin from the configured namespaces or by full module name and run "register", optional arguments are passed through. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojolicious::Plugins(3pm)
Man Page