The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

CatalystX::Declare::Keyword::Application - Declare Catalyst Application Classes

SYNOPSIS

    use CatalystX::Declare;

    application MyApp::Web
           with Static::Simple
           with ConfigLoader {

        $CLASS->config(name => 'My App');

        method debug_timestamp {
            $self->log->debug('Timestamp: ' . time)
                if $self->debug;
        }
    }

DESCRIPTION

This module provides a keyword handler for the application keyword. It is an extension of "class" in MooseX::Declare. The role application mechanism behind the with specification is hijacked and the arguments are passed to Catalyst's setup method. This hijacking is proably going away someday since in the future plugins will be actual roles.

You don't have to call the setup method yourself, this will be done by the handler after the body has been run.

SUPERCLASSES

MooseX::Declare::Syntax::Keyword::Class

METHODS

auto_make_immutable

    Bool Object->auto_make_immutable ()

A modified method that returns 0 to signal to MooseX::Declare that it should not make this class immutable. Currently, making application classes immutable isn't supported yet, therefore is mutable is currently a no-op. This will likely change as soon as application classes can be made immutable,

SEE ALSO

CatalystX::Declare
"class" in MooseX::Declare
MooseX::Declare::Syntax::Keyword::Class

AUTHOR

See "AUTHOR" in CatalystX::Declare for author information.

LICENSE

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