apply correct roles/metaroles to roles
This commit is contained in:
parent
a5f54a7910
commit
38e2e091dc
2 changed files with 44 additions and 23 deletions
|
|
@ -74,17 +74,28 @@ sub init_meta {
|
||||||
my $class = shift;
|
my $class = shift;
|
||||||
my %args = @_;
|
my %args = @_;
|
||||||
|
|
||||||
Moose::Util::MetaRole::apply_base_class_roles(
|
my $for_class = $args{for_class};
|
||||||
for => $args{for_class},
|
if ($for_class->meta->isa('Moose::Meta::Class')) {
|
||||||
roles => [ 'WebGUI::Definition::Role::Object' ],
|
Moose::Util::MetaRole::apply_base_class_roles(
|
||||||
);
|
for => $for_class,
|
||||||
Moose::Util::MetaRole::apply_metaroles(
|
roles => [ 'WebGUI::Definition::Role::Object' ],
|
||||||
for => $args{for_class},
|
);
|
||||||
class_metaroles => {
|
Moose::Util::MetaRole::apply_metaroles(
|
||||||
class => ['WebGUI::Definition::Meta::Class'],
|
for => $for_class,
|
||||||
},
|
class_metaroles => {
|
||||||
);
|
class => ['WebGUI::Definition::Meta::Class'],
|
||||||
return $args{for_class}->meta;
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Moose::Util::MetaRole::apply_metaroles(
|
||||||
|
for => $for_class,
|
||||||
|
role_metaroles => {
|
||||||
|
role => ['WebGUI::Definition::Meta::Class'],
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return $for_class->meta;
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -76,18 +76,28 @@ sub import {
|
||||||
sub init_meta {
|
sub init_meta {
|
||||||
my $class = shift;
|
my $class = shift;
|
||||||
my %args = @_;
|
my %args = @_;
|
||||||
|
my $for_class = $args{for_class};
|
||||||
Moose::Util::MetaRole::apply_base_class_roles(
|
if ($for_class->meta->isa('Moose::Meta::Class')) {
|
||||||
for => $args{for_class},
|
Moose::Util::MetaRole::apply_base_class_roles(
|
||||||
roles => [ 'WebGUI::Definition::Role::Asset' ],
|
for => $for_class,
|
||||||
);
|
roles => [ 'WebGUI::Definition::Role::Asset' ],
|
||||||
Moose::Util::MetaRole::apply_metaroles(
|
);
|
||||||
for => $args{for_class},
|
Moose::Util::MetaRole::apply_metaroles(
|
||||||
class_metaroles => {
|
for => $for_class,
|
||||||
class => ['WebGUI::Definition::Meta::Asset'],
|
class_metaroles => {
|
||||||
},
|
class => ['WebGUI::Definition::Meta::Asset'],
|
||||||
);
|
},
|
||||||
return $args{for_class}->meta;
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Moose::Util::MetaRole::apply_metaroles(
|
||||||
|
for => $for_class,
|
||||||
|
role_metaroles => {
|
||||||
|
role => ['WebGUI::Definition::Meta::Asset'],
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return $for_class->meta;
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue