MooseX::Role::Parameterized::Meta::Parameter - metaclass for parameters


MooseX-Role-Parameterized documentation Contained in the MooseX-Role-Parameterized distribution.

Index


Code Index:

NAME

Top

MooseX::Role::Parameterized::Meta::Parameter - metaclass for parameters

DESCRIPTION

Top

This is the metaclass for parameter objects, a subclass of Moose::Meta::Attribute. Its sole purpose is to make the default value of the is option ro.


MooseX-Role-Parameterized documentation Contained in the MooseX-Role-Parameterized distribution.

package MooseX::Role::Parameterized::Meta::Parameter;
use Moose;
extends 'Moose::Meta::Attribute';

our $VERSION = '0.26';

# This doesn't actually do anything because _process_options does not consult
# the default value of "is". hrm.
has '+is' => (
    default => 'ro',
);

around _process_options => sub {
    my $orig = shift;
    my ($class, $name, $options) = @_;

    $options->{is} ||= 'ro';

    $orig->(@_);
};

__PACKAGE__->meta->make_immutable(
    inline_constructor => 1,
    replace_constructor => 1,
    constructor_name   => "_new",
);
no Moose;

1;

__END__