reverting (most of) the whitespace changes
[catagits/Catalyst-Runtime.git] / lib / Catalyst / AttrContainer.pm
CommitLineData
ba599d1c 1package Catalyst::AttrContainer;
2
e7dc25cd 3use Moose;
ba599d1c 4use Catalyst::Exception;
ba599d1c 5
a7caa492 6with 'Catalyst::ClassData';
e7dc25cd 7
e8b9f2a9 8__PACKAGE__->mk_classdata($_) for qw/_attr_cache _action_cache/;
9__PACKAGE__->_attr_cache( {} );
10__PACKAGE__->_action_cache( [] );
ba599d1c 11
12# note - see attributes(3pm)
13sub MODIFY_CODE_ATTRIBUTES {
14 my ( $class, $code, @attrs ) = @_;
57e45928 15 $class->_attr_cache( { %{ $class->_attr_cache }, $code => [@attrs] } );
16 $class->_action_cache(
17 [ @{ $class->_action_cache }, [ $code, [@attrs] ] ] );
ba599d1c 18 return ();
19}
20
21sub FETCH_CODE_ATTRIBUTES { $_[0]->_attr_cache->{ $_[1] } || () }
22
23=head1 NAME
24
25Catalyst::AttrContainer
26
27=head1 SYNOPSIS
28
29=head1 DESCRIPTION
30
ac5c933b 31This class sets up the code attribute cache. It's a base class for
a1e61a69 32L<Catalyst::Controller>.
649fd1fa 33
ba599d1c 34=head1 METHODS
35
b5ecfcf0 36=head2 FETCH_CODE_ATTRIBUTES
ba599d1c 37
649fd1fa 38Attribute function. See attributes(3pm)
39
b5ecfcf0 40=head2 MODIFY_CODE_ATTRIBUTES
ba599d1c 41
649fd1fa 42Attribute function. See attributes(3pm)
43
ba599d1c 44=head1 SEE ALSO
45
a1e61a69 46L<Catalyst::Dispatcher>
ba599d1c 47L<Catalyst>.
48
49=head1 AUTHOR
50
51Sebastian Riedel, C<sri@cpan.org>
52Marcus Ramberg, C<mramberg@cpan.org>
53
54=head1 COPYRIGHT
55
56This program is free software, you can redistribute it and/or modify it under
57the same terms as Perl itself.
58
59=cut
60
611;