Fix applying roles

This commit is contained in:
Graham Knop 2009-12-07 12:15:21 -06:00
parent fdb72a6d7f
commit c7995b716e
2 changed files with 8 additions and 6 deletions

View file

@ -48,7 +48,6 @@ my ($import, $unimport, $init_meta) = Moose::Exporter->build_import_methods(
install => [ 'unimport' ],
with_meta => [ 'property', 'attribute' ],
also => 'Moose',
roles => [ 'WebGUI::Definition::Role::Object' ],
);
#-------------------------------------------------------------------
@ -80,8 +79,10 @@ Sets the metaclass to WebGUI::Definition::Meta::Class.
sub init_meta {
my $class = shift;
my %options = @_;
$options{metaclass} = 'WebGUI::Definition::Meta::Class';
return Moose->init_meta(%options);
$options{metaclass} //= 'WebGUI::Definition::Meta::Class';
my $meta = Moose->init_meta(%options);
Moose::Util::apply_all_roles($meta, 'WebGUI::Definition::Role::Object');
return $meta;
}
#-------------------------------------------------------------------

View file

@ -48,7 +48,6 @@ my ($import, $unimport, $init_meta) = Moose::Exporter->build_import_methods(
install => [ 'unimport' ],
also => 'WebGUI::Definition',
with_meta => [ 'property' ],
roles => [ 'WebGUI::Definition::Role::Asset' ],
);
sub import {
@ -63,8 +62,10 @@ sub import {
sub init_meta {
my $class = shift;
my %options = @_;
$options{metaclass} = 'WebGUI::Definition::Meta::Asset';
return Moose->init_meta(%options);
$options{metaclass} //= 'WebGUI::Definition::Meta::Asset';
my $meta = WebGUI::Definition->init_meta(%options);
Moose::Util::apply_all_roles($meta, 'WebGUI::Definition::Role::Asset');
return $meta;
}
#-------------------------------------------------------------------