Get rid of deprecated methods in Class::MOP (and depend on newest Moose)
[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 use namespace::clean -except => [ qw(meta) ];
7 extends 'Reaction::Meta::Class';
8
9 sub new { shift->SUPER::new(@_) };
10
11 around initialize => sub {
12   my $super = shift;
13   my $class = shift;
14   my $pkg   = shift;
15   $super->($class, $pkg, attribute_metaclass => ParameterAttribute, @_);
16 };
17 sub parameter_attributes {
18   my $self = shift;
19   return grep { $_->isa(ParameterAttribute) } 
20     $self->get_all_attributes;
21 };
22
23 __PACKAGE__->meta->make_immutable;
24
25   
26 1;
27
28 =head1 NAME
29
30 Reaction::Meta::InterfaceModel::Action::Class
31
32 =head1 DESCRIPTION
33
34 =head2 parameter_attributes
35
36 =head1 AUTHORS
37
38 See L<Reaction::Class> for authors.
39
40 =head1 LICENSE
41
42 See L<Reaction::Class> for the license.
43
44 =cut