5.49_03 release changes
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Action.pm
CommitLineData
fbcc39ad 1package Catalyst::Action;
2
3use strict;
4use base qw/Class::Accessor::Fast/;
5
11bd4e3e 6__PACKAGE__->mk_accessors(qw/class namespace reverse attributes name code/);
fbcc39ad 7
8use overload (
9
10 # Stringify to reverse for debug output etc.
11 q{""} => sub { shift->{reverse} },
12
13 # Codulate to encapsulated action coderef
14 '&{}' => sub { shift->{code} },
15
16);
17
18=head1 NAME
19
20Catalyst::Action - Catalyst Action
21
22=head1 SYNOPSIS
23
24See L<Catalyst>.
25
26=head1 DESCRIPTION
27
28=head1 METHODS
29
30=over 4
31
b96f127f 32=item attributes
33
11bd4e3e 34=item class
35
fbcc39ad 36=item code
37
38=item execute
39
40=cut
41
42sub execute { # Execute ourselves against a context
43 my ( $self, $c ) = @_;
11bd4e3e 44 return $c->execute( $self->class, $self );
fbcc39ad 45}
46
47=item namespace
48
49=item reverse
50
6b239949 51=item name
52
fbcc39ad 53=back
54
55=head1 AUTHOR
56
57Matt S. Trout
58
59=head1 COPYRIGHT
60
61This program is free software, you can redistribute it and/or modify it under
62the same terms as Perl itself.
63
64=cut
65
661;