The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    Amon2 - lightweight web application framework

SYNOPSIS
        package MyApp;
        use parent qw/Amon2/;
        use Amon2::Config::Simple;
        sub load_config { Amon2::Config::Simple->load(shift) }

DESCRIPTION
    Amon2 is simple, readable, extensible, STABLE, FAST web application
    framework based on Plack.

METHODS
  CLASS METHODS for "Amon2" class
    my $c = MyApp->context();
        Get the context object.

    MyApp->set_context($c)
        Set your context object(INTERNAL USE ONLY).

CLASS METHODS for inherited class
    "MyApp->config()"
        This method returns configuration information. It is generated by
        "MyApp->load_config()".

    "MyApp->mode_name()"
        This is a mode name for Amon2. Default implementation of this method
        is:

            sub mode_name { $ENV{PLACK_ENV} }

        You can override this method if you want to determine the mode by
        other method.

    "MyApp->new()"
        Create new context object.

    "MyApp->bootstrap()"
            my $c = MyApp->bootstrap();

        Create new context object and set it to global context. When you are
        writing CLI script, setup the global context object by this method.

    "MyApp->base_dir()"
        This method returns application base directory.

    "MyApp->load_plugin($module_name[, \%config])"
        This method loads plugin for the application.

        *$module_name:* package name of the plugin. You can write it as two
        form like DBIx::Class:

            __PACKAGE__->load_plugin("Web::HTTPSession");    # => loads Amon2::Plugin::Web::HTTPSession

        If you want to load a plugin in your own name space, use '+'
        character before package name like following:
        __PACKAGE__->load_plugin("+MyApp::Plugin::Foo"); # => loads
        MyApp::Plugin::Foo

    "MyApp->load_plugins($module_name[, \%config ], ...)"
        Load multiple plugins at one time.

        If you want to load a plugin in your own name space, use '+'
        character before package name like following:

            __PACKAGE__->load_plugins("+MyApp::Plugin::Foo"); # => loads MyApp::Plugin::Foo

    "MyApp->load_config()"
        You can get a configuration hashref from
        "config/$ENV{PLACK_ENV}.pl". You can override this method for
        customizing configuration loading method.

    "MyApp->add_config()"
        DEPRECATED.

    "MyApp->debug_mode()"
        ((EXPERIMENTAL))

        This method returns boolean value. It returns true when
        $ENV{AMON2_DEBUG} is true value, false otherwise.

        You can override this method if you need.

DOCUMENTS
    More complicated documents are available on <http://amon.64p.org/>

SUPPORTS
    #amon at irc.perl.org is available.

AUTHOR
    Tokuhiro Matsuno <tokuhirom AAJKLFJEF@ GMAIL COM>

LICENSE
    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.