X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FUtil.pm;h=e713bb4af753fef8df0aa84c1278a204669e16f7;hb=refs%2Ftags%2F0.56;hp=96d9800529d5d015d20c9e108eae78e5697104f4;hpb=f4cbcca146f48c91c74ae618f71895376fd338a4;p=gitmo%2FMoose.git diff --git a/lib/Moose/Util.pm b/lib/Moose/Util.pm index 96d9800..e713bb4 100644 --- a/lib/Moose/Util.pm +++ b/lib/Moose/Util.pm @@ -8,7 +8,7 @@ use Scalar::Util 'blessed'; use Carp 'confess'; use Class::MOP 0.56; -our $VERSION = '0.55_03'; +our $VERSION = '0.56'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; @@ -73,16 +73,9 @@ sub search_class_by_role { sub apply_all_roles { my $applicant = shift; - apply_all_roles_with_method( $applicant, 'apply', [@_] ); -} - -sub apply_all_roles_with_method { - my ( $applicant, $apply_method, $role_list ) = @_; - - confess "Must specify at least one role to apply to $applicant" - unless @$role_list; + confess "Must specify at least one role to apply to $applicant" unless @_; - my $roles = Data::OptList::mkopt($role_list); + my $roles = Data::OptList::mkopt( [@_] ); my $meta = ( blessed $applicant ? $applicant : find_meta($applicant) ); @@ -98,11 +91,10 @@ sub apply_all_roles_with_method { if ( scalar @$roles == 1 ) { my ( $role, $params ) = @{ $roles->[0] }; - $role->meta->$apply_method( $meta, - ( defined $params ? %$params : () ) ); + $role->meta->apply( $meta, ( defined $params ? %$params : () ) ); } else { - Moose::Meta::Role->combine( @$roles )->$apply_method($meta); + Moose::Meta::Role->combine( @$roles )->apply($meta); } } @@ -229,13 +221,6 @@ actually used internally by both L and L, and the C<@roles> will be pre-processed through L to allow for the additional arguments to be passed. -=item B - -This function works just like C, except it allows -you to specify what method will be called on the role metaclass when -applying it to the C<$applicant>. This exists primarily so one can use -the C<< Moose::Meta::Role->apply_to_metaclass_instance() >> method. - =item B Returns the values of the C<$instance>'s fields keyed by the attribute names.