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::Renderer(3pm)				User Contributed Perl Documentation				Mojolicious::Renderer(3pm)

NAME
Mojolicious::Renderer - MIME type based renderer SYNOPSIS
use Mojolicious::Renderer; my $renderer = Mojolicious::Renderer->new; DESCRIPTION
Mojolicious::Renderer is the standard Mojolicious renderer. See Mojolicious::Guides::Rendering for more. ATTRIBUTES
Mojolicious::Renderer implements the following attributes. "cache" my $cache = $renderer->cache; $renderer = $renderer->cache(Mojo::Cache->new); Renderer cache, defaults to a Mojo::Cache object. "classes" my $classes = $renderer->classes; $renderer = $renderer->classes(['main']); Classes to use for finding templates in "DATA" sections, first one has the highest precedence, defaults to "main". # Add another class with templates in DATA section push @{$renderer->classes}, 'Mojolicious::Plugin::Fun'; "default_format" my $default = $renderer->default_format; $renderer = $renderer->default_format('html'); The default format to render if "format" is not set in the stash. The renderer will use "types" in Mojolicious to look up the content MIME type. "default_handler" my $default = $renderer->default_handler; $renderer = $renderer->default_handler('ep'); The default template handler to use for rendering in cases where auto detection doesn't work, like for "inline" templates. "encoding" my $encoding = $renderer->encoding; $renderer = $renderer->encoding('koi8-r'); Will encode the content if set, defaults to "UTF-8". "handlers" my $handlers = $renderer->handlers; $renderer = $renderer->handlers({epl => sub {...}}); Registered handlers. "helpers" my $helpers = $renderer->helpers; $renderer = $renderer->helpers({url_for => sub {...}}); Registered helpers. "paths" my $paths = $renderer->paths; $renderer = $renderer->paths(['/home/sri/templates']); Directories to look for templates in, first one has the highest precedence. # Add another "templates" directory push @{$renderer->paths}, '/home/sri/templates'; METHODS
Mojolicious::Renderer inherits all methods from Mojo::Base and implements the following ones. "new" my $renderer = Mojolicious::Renderer->new; Construct a new renderer and register "data", "json" as well as "text" handlers. "add_handler" $renderer = $renderer->add_handler(epl => sub {...}); Register a new handler. "add_helper" $renderer = $renderer->add_helper(url_for => sub {...}); Register a new helper. "get_data_template" my $template = $renderer->get_data_template({ template => 'foo/bar', format => 'html', handler => 'epl' }, 'foo.html.ep'); Get a DATA template by name, usually used by handlers. "render" my ($output, $type) = $renderer->render(Mojolicious::Controller->new); my ($output, $type) = $renderer->render(Mojolicious::Controller->new, { template => 'foo/bar', foo => 'bar' }); Render output through one of the Mojo renderers. This renderer requires some configuration, at the very least you will need to have a default "format" and a default "handler" as well as a "template" or "text"/"json". See "render" in Mojolicious::Controller for a more user- friendly interface. "template_name" my $template = $renderer->template_name({ template => 'foo/bar', format => 'html', handler => 'epl' }); Builds a template name based on an options hash reference with "template", "format" and "handler", usually used by handlers. "template_path" my $path = $renderer->template_path({ template => 'foo/bar', format => 'html', handler => 'epl' }); Builds a full template path based on an options hash reference with "template", "format" and "handler", usually used by handlers. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojolicious::Renderer(3pm)
Man Page