The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Ado::Plugin - base class for Ado specific plugins.

SYNOPSIS

  # CamelCase plugin name
  package Ado::Plugin::MyPlugin;
  use Mojo::Base 'Ado::Plugin';

  sub register {
    my ($self, $app, $conf) = @_;
    $self->app($app);#!Needed in $self->config!
    #Merge passed configuration with configuration 
    #from  etc/ado.conf and etc/plugins/my_plugin.conf
    $conf = {%{$self->config},%{$conf?$conf:{}}};
    # Your magic here! :)
  }

DESCRIPTION

Ado::Plugin is a base class for Ado specific plugins. It provides some methods specific to Ado only.

ATTRIBUTES

Ado::Plugin provides the following attributes for use by subclasses.

app

  my $app  = $self->app;
  $command = $self->app(MyApp->new);

Application for plugin, defaults to a Mojo::HelloWorld object.

  # Introspect
  say "Template path: $_" for @{$self->app->renderer->paths};

name

The name - only the plugin name without the namespace.

  $self->name #MyPlugin

METHODS

Ado::Plugin provides the following methods for use by subclasses.

config

The configuration which is for the plugin only.

  $self->config 
  #everything in '$ENV{MOJO_HOME}/etc/plugins/'.decamelize('MyPlugin').'.conf'
  #or under  $app->config('MyPlugin') 
  #or $app->config('my_plugin') - in this order
  
  my $value = $self->config('key');

SPONSORS

The original author

SEE ALSO

Ado::Manual::Plugin, Ado::Plugin::Routes, Mojolicious::Plugin, Mojolicious::Plugin,

AUTHOR

Красимир Беров (Krasimir Berov)

COPYRIGHT AND LICENSE

Copyright 2013 Красимир Беров (Krasimir Berov).

This program is free software, you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License v3 (LGPL-3.0). You may copy, distribute and modify the software provided that modifications are open source. However, software that includes the license may release under a different license.

See http://opensource.org/licenses/lgpl-3.0.html for more information.