X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FRole.pm;h=102b49c25fbfd24a6513ec1328bbfb5d8b5315cd;hb=95637edb1de318b764f8ec2fc8b5c5c8d4430010;hp=fe6575ec3583d923d984d93d168faad4d5b83ecd;hpb=823419c540f9e77090f31f11e04b14477c0372c4;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Role.pm b/lib/Mouse/Meta/Role.pm index fe6575e..102b49c 100644 --- a/lib/Mouse/Meta/Role.pm +++ b/lib/Mouse/Meta/Role.pm @@ -20,7 +20,6 @@ sub _construct_meta { if($class ne __PACKAGE__){ $self->meta->_initialize_object($self, \%args); } - return $self; } @@ -64,8 +63,6 @@ sub add_attribute { return; } - -# Moose uses Application::ToInstance, Application::ToClass, Application::ToRole sub apply { my $self = shift; my $consumer = shift; @@ -74,18 +71,11 @@ sub apply { return Mouse::Meta::Role::Application->new(@_)->apply($self, $consumer); } - sub combine { my($self, @role_specs) = @_; require 'Mouse/Meta/Role/Composite.pm'; - my $composite = Mouse::Meta::Role::Composite->create_anon_role(); - - foreach my $role_spec (@role_specs) { - my($role_name, $args) = @{$role_spec}; - $role_name->meta->apply($composite, %{$args}); - } - return $composite; + return Mouse::Meta::Role::Composite->new(roles => \@role_specs); } sub add_before_method_modifier; @@ -141,7 +131,7 @@ Mouse::Meta::Role - The Mouse Role metaclass =head1 VERSION -This document describes Mouse version 0.70 +This document describes Mouse version 0.90 =head1 DESCRIPTION