use replace_constructor
[gitmo/MooseX-Role-Parameterized.git] / lib / MooseX / Role / Parameterized / Meta / Parameter.pm
1 package MooseX::Role::Parameterized::Meta::Parameter;
2 use Moose;
3 extends 'Moose::Meta::Attribute';
4
5 # This doesn't actually do anything because _process_options does not consult
6 # the default value of "is". hrm.
7 has '+is' => (
8     default => 'ro',
9 );
10
11 around _process_options => sub {
12     my $orig = shift;
13     my ($class, $name, $options) = @_;
14
15     $options->{is} ||= 'ro';
16
17     $orig->(@_);
18 };
19
20 __PACKAGE__->meta->make_immutable(
21     inline_constructor => 1,
22     replace_constructor => 1,
23     constructor_name   => "_new",
24 );
25 no Moose;
26
27 1;
28