9e30190e3d4c2c53c76d3580320462178e90dcd5
[gitmo/MooseX-HasDefaults.git] / lib / MooseX / HasDefaults / Meta / IsRO.pm
1 package MooseX::HasDefaults::Meta::IsRO;
2 use Moose::Role;
3
4 around _process_options => sub {
5     my $orig = shift;
6     my (undef, undef, $options) = @_;
7
8     if (!exists($options->{is})) {
9         $options->{is} = 'ro';
10     }
11     # They want no accessor, but Moose doesn't like "is => undef"
12     elsif (!defined($options->{is})) {
13         delete $options->{is};
14     }
15
16     $orig->(@_);
17 };
18
19 1;
20