Commit | Line | Data |
88b7f2c8 |
1 | package MooseX::ClassAttribute::Meta::Role::Attribute; |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use List::MoreUtils qw( uniq ); |
7 | |
8 | use namespace::autoclean; |
9 | use Moose; |
10 | |
11 | extends 'Moose::Meta::Role::Attribute'; |
12 | |
13 | sub new { |
14 | my ( $class, $name, %options ) = @_; |
15 | |
16 | $options{traits} = [ |
17 | uniq( @{ $options{traits} || [] } ), |
63fcc508 |
18 | 'MooseX::ClassAttribute::Trait::Attribute' |
88b7f2c8 |
19 | ]; |
20 | |
21 | return $class->SUPER::new( $name, %options ); |
22 | } |
23 | |
24 | 1; |
04b89789 |
25 | |
0d0bf8c3 |
26 | # ABSTRACT: An attribute metaclass for class attributes in roles |
27 | |
04b89789 |
28 | __END__ |
29 | |
30 | =pod |
31 | |
04b89789 |
32 | =head1 DESCRIPTION |
33 | |
34 | This class overrides L<Moose::Meta::Role::Attribute> to support class |
35 | attribute declaration in roles. |
36 | |
04b89789 |
37 | =head1 BUGS |
38 | |
39 | See L<MooseX::ClassAttribute> for details. |
40 | |
04b89789 |
41 | =cut |