Commit | Line | Data |
7adfd53f |
1 | package Reaction::Meta::InterfaceModel::Action::Class; |
2 | |
3 | use Reaction::Class; |
4 | use aliased 'Reaction::Meta::InterfaceModel::Action::ParameterAttribute'; |
5 | |
81393881 |
6 | use namespace::clean -except => [ qw(meta) ]; |
7 | extends 'Reaction::Meta::Class'; |
7adfd53f |
8 | |
81393881 |
9 | around initialize => sub { |
10 | my $super = shift; |
11 | my $class = shift; |
12 | my $pkg = shift; |
13 | $super->($class, $pkg, attribute_metaclass => ParameterAttribute, @_); |
14 | }; |
15 | sub parameter_attributes { |
16 | my $self = shift; |
17 | return grep { $_->isa(ParameterAttribute) } |
4d0bacd2 |
18 | $self->get_all_attributes; |
81393881 |
19 | }; |
7adfd53f |
20 | |
83529ec1 |
21 | __PACKAGE__->meta->make_immutable(inline_constructor => 0); |
7adfd53f |
22 | |
7adfd53f |
23 | |
24 | 1; |
25 | |
26 | =head1 NAME |
27 | |
28 | Reaction::Meta::InterfaceModel::Action::Class |
29 | |
30 | =head1 DESCRIPTION |
31 | |
32 | =head2 parameter_attributes |
33 | |
34 | =head1 AUTHORS |
35 | |
36 | See L<Reaction::Class> for authors. |
37 | |
38 | =head1 LICENSE |
39 | |
40 | See L<Reaction::Class> for the license. |
41 | |
42 | =cut |