Make parameter_metaclass rw, if a user wants to shoot himself in the foot I'll load...
[gitmo/MooseX-Role-Parameterized.git] / lib / MooseX / Role / Parameterized / Meta / Role.pm
CommitLineData
7b42fc96 1#!/usr/bin/env perl
2package MooseX::Role::Parameterized::Meta::Role;
3use Moose;
4extends 'Moose::Meta::Role';
5
6use MooseX::Role::Parameterized::Parameters;
7
f563c3cd 8has parameter_metaclass => (
39d3d5d0 9 is => 'rw',
f563c3cd 10 isa => 'Moose::Meta::Class',
11 lazy => 1,
12 default => sub {
13 Moose::Meta::Class->create_anon_class(
14 superclasses => ['MooseX::Role::Parameterized::Parameters'],
15 );
16 },
17);
18
19sub add_parameter {
20 my $self = shift;
21 $self->parameter_metaclass->add_attribute(@_);
22}
7b42fc96 23
f74750fb 24sub construct_parameters {
25 my $self = shift;
26 $self->parameter_metaclass->construct_instance(@_);
27}
28
7b42fc96 29__PACKAGE__->meta->make_immutable;
30no Moose;
31
321;
33