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

NAME

Pickles::WebApp - Pickles WebApp base class.

SYNOPSIS

  package MyApp;
  
  use strict;
  use warnings;
  use parent 'Pickles::WebApp';
   
  1;
  
  __END__

MyApp.psgi

  use strict;
  use MyApp;
  use Plack::Builder;
  
  my $app = MyApp->new->handler;
  builder {
      $app;
  };

METHODS

Class->new

returns a new WebApp object.

$webapp->handler

returns a PSGI application sub-ref.

$webapp->appname

returns a application name.

$webapp->setup_config

returns a config object. if you'd like to use custom config object, override this method.

$webapp->setup_dispatcher

returns a dispatcher object. if you'd like to use custom dispatcher object, override this method.

$webapp->get_routes_file

returns a routes file which is used by dispatcher. the default value is $config->path_to('etc/routes.pl').

$webapp->setup_container

returns a container object if you'd like to use custom container object, override this method.

$webapp->get_container_file

returns a profile file which is used by container. the default value is $config->path_to('etc/container.pl').

CLASS VARIABLES

The following class variables specify component classes. Omit the $self->appname prefix from the class name.

    # MyApp::Config
    MyApp->config_class('Config');

    # MyApp::Config::JSON
    MyApp->config_class('Config::JSON');

if you want to use fully qualified class name, use plus sign prefix.

    # Foo::Config
    MyApp->config_class('+Foo::Config');

MyApp->context_class

default value is Context

MyApp->config_class

default value is Config

MyApp->dispatcher_class

default value is Dispatcher

MyApp::Context->container_class

default value is Container

AUTHOR

Tomohiro Ikebe <ikebe {at} livedoor.jp>

SEE ALSO

Pickles::Context

LICENSE

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