changes so far for new moose / mop
[catagits/Reaction.git] / lib / Reaction / Meta / InterfaceModel / Action / Class.pm
1 package Reaction::Meta::InterfaceModel::Action::Class;
2
3 use Reaction::Class;
4 use aliased 'Reaction::Meta::InterfaceModel::Action::ParameterAttribute';
5
6 class Class is 'Reaction::Meta::Class', which {
7
8   around initialize => sub {
9     my $super = shift;
10     my $class = shift;
11     my $pkg   = shift;
12     $super->($class, $pkg, attribute_metaclass => ParameterAttribute, @_);
13   };
14
15   implements parameter_attributes => as {
16     my $self = shift;
17     return grep { $_->isa(ParameterAttribute) } 
18       $self->compute_all_applicable_attributes;
19   };
20
21 };
22   
23 1;
24
25 =head1 NAME
26
27 Reaction::Meta::InterfaceModel::Action::Class
28
29 =head1 DESCRIPTION
30
31 =head2 parameter_attributes
32
33 =head1 AUTHORS
34
35 See L<Reaction::Class> for authors.
36
37 =head1 LICENSE
38
39 See L<Reaction::Class> for the license.
40
41 =cut