Catalyst::Component::ApplicationAttribute - Moose Role for components which capture the application context.


Catalyst-Runtime documentation Contained in the Catalyst-Runtime distribution.

Index


Code Index:

NAME

Top

Catalyst::Component::ApplicationAttribute - Moose Role for components which capture the application context.

SYNOPSIS

Top

    package My::Component;
    use Moose;
    extends 'Catalyst::Component';
    with 'Catalyst::Component::ApplicationAttribute';

    # Your code here

    1;

DESCRIPTION

Top

This role provides a BUILDARGS method which captures the application context into an attribute.

ATTRIBUTES

Top

_application

Weak reference to the application context.

METHODS

Top

BUILDARGS ($self, $app)

BUILDARGS method captures the application context into the _application attribute.

_application

Reader method for the application context.

SEE ALSO

Top

Catalyst::Component, Catalyst::Controller.

AUTHORS

Top

Catalyst Contributors, see Catalyst.pm

COPYRIGHT

Top


Catalyst-Runtime documentation Contained in the Catalyst-Runtime distribution.

package Catalyst::Component::ApplicationAttribute;

use Moose::Role;
use namespace::clean -except => 'meta';

# Future - isa => 'ClassName|Catalyst' performance?
#           required => 1 breaks tests..
has _application => (is => 'ro', weak_ref => 1);
sub _app { (shift)->_application(@_) }

override BUILDARGS => sub {
    my ($self, $app) = @_;

    my $args = super();
    $args->{_application} = $app;

    return $args;
};

1;

__END__