apply correct roles/metaroles to roles

This commit is contained in:
Graham Knop 2010-03-02 18:31:16 -06:00
parent a5f54a7910
commit 38e2e091dc
2 changed files with 44 additions and 23 deletions

View file

@ -74,17 +74,28 @@ sub init_meta {
my $class = shift;
my %args = @_;
Moose::Util::MetaRole::apply_base_class_roles(
for => $args{for_class},
roles => [ 'WebGUI::Definition::Role::Object' ],
);
Moose::Util::MetaRole::apply_metaroles(
for => $args{for_class},
class_metaroles => {
class => ['WebGUI::Definition::Meta::Class'],
},
);
return $args{for_class}->meta;
my $for_class = $args{for_class};
if ($for_class->meta->isa('Moose::Meta::Class')) {
Moose::Util::MetaRole::apply_base_class_roles(
for => $for_class,
roles => [ 'WebGUI::Definition::Role::Object' ],
);
Moose::Util::MetaRole::apply_metaroles(
for => $for_class,
class_metaroles => {
class => ['WebGUI::Definition::Meta::Class'],
},
);
}
else {
Moose::Util::MetaRole::apply_metaroles(
for => $for_class,
role_metaroles => {
role => ['WebGUI::Definition::Meta::Class'],
},
);
}
return $for_class->meta;
}
#-------------------------------------------------------------------

View file

@ -76,18 +76,28 @@ sub import {
sub init_meta {
my $class = shift;
my %args = @_;
Moose::Util::MetaRole::apply_base_class_roles(
for => $args{for_class},
roles => [ 'WebGUI::Definition::Role::Asset' ],
);
Moose::Util::MetaRole::apply_metaroles(
for => $args{for_class},
class_metaroles => {
class => ['WebGUI::Definition::Meta::Asset'],
},
);
return $args{for_class}->meta;
my $for_class = $args{for_class};
if ($for_class->meta->isa('Moose::Meta::Class')) {
Moose::Util::MetaRole::apply_base_class_roles(
for => $for_class,
roles => [ 'WebGUI::Definition::Role::Asset' ],
);
Moose::Util::MetaRole::apply_metaroles(
for => $for_class,
class_metaroles => {
class => ['WebGUI::Definition::Meta::Asset'],
},
);
}
else {
Moose::Util::MetaRole::apply_metaroles(
for => $for_class,
role_metaroles => {
role => ['WebGUI::Definition::Meta::Asset'],
},
);
}
return $for_class->meta;
}
1;