Make the RoleSummation role application class an attribute of the composite metarole.
[gitmo/Moose.git] / lib / Moose / Meta / Role.pm
index 8e8aec5..f3363bf 100644 (file)
@@ -10,7 +10,7 @@ use Carp         'confess';
 use Sub::Name    'subname';
 use Devel::GlobalDestruction 'in_global_destruction';
 
-our $VERSION   = '0.89';
+our $VERSION   = '0.89_02';
 $VERSION = eval $VERSION;
 our $AUTHORITY = 'cpan:STEVAN';
 
@@ -514,7 +514,6 @@ sub apply {
 sub combine {
     my ($class, @role_specs) = @_;
 
-    require Moose::Meta::Role::Application::RoleSummation;
     require Moose::Meta::Role::Composite;
 
     my (@roles, %role_params);
@@ -530,11 +529,7 @@ sub combine {
     }
 
     my $c = Moose::Meta::Role::Composite->new(roles => \@roles);
-    Moose::Meta::Role::Application::RoleSummation->new(
-        role_params => \%role_params
-    )->apply($c);
-
-    return $c;
+    return $c->apply_params(\%role_params);
 }
 
 sub _role_for_combination {
@@ -664,7 +659,7 @@ sub create {
 #####################################################################
 #
 # has 'roles' => (
-#     metaclass => 'Collection::Array',
+#     metaclass => 'Array',
 #     reader    => 'get_roles',
 #     isa       => 'ArrayRef[Moose::Meta::Role]',
 #     default   => sub { [] },
@@ -674,7 +669,7 @@ sub create {
 # );
 #
 # has 'excluded_roles_map' => (
-#     metaclass => 'Collection::Hash',
+#     metaclass => 'Hash',
 #     reader    => 'get_excluded_roles_map',
 #     isa       => 'HashRef[Str]',
 #     provides  => {
@@ -686,7 +681,7 @@ sub create {
 # );
 #
 # has 'attribute_map' => (
-#     metaclass => 'Collection::Hash',
+#     metaclass => 'Hash',
 #     reader    => 'get_attribute_map',
 #     isa       => 'HashRef[Str]',
 #     provides => {
@@ -700,7 +695,7 @@ sub create {
 # );
 #
 # has 'required_methods' => (
-#     metaclass => 'Collection::Hash',
+#     metaclass => 'Hash',
 #     reader    => 'get_required_methods_map',
 #     isa       => 'HashRef[Moose::Meta::Role::Method::Required]',
 #     provides  => {
@@ -717,7 +712,7 @@ sub create {
 # # CODE refs to apply in that order
 #
 # has 'before_method_modifiers' => (
-#     metaclass => 'Collection::Hash',
+#     metaclass => 'Hash',
 #     reader    => 'get_before_method_modifiers_map',
 #     isa       => 'HashRef[ArrayRef[CodeRef]]',
 #     provides  => {
@@ -731,7 +726,7 @@ sub create {
 # );
 #
 # has 'after_method_modifiers' => (
-#     metaclass => 'Collection::Hash',
+#     metaclass => 'Hash',
 #     reader    =>'get_after_method_modifiers_map',
 #     isa       => 'HashRef[ArrayRef[CodeRef]]',
 #     provides  => {
@@ -745,7 +740,7 @@ sub create {
 # );
 #
 # has 'around_method_modifiers' => (
-#     metaclass => 'Collection::Hash',
+#     metaclass => 'Hash',
 #     reader    =>'get_around_method_modifiers_map',
 #     isa       => 'HashRef[ArrayRef[CodeRef]]',
 #     provides  => {
@@ -763,7 +758,7 @@ sub create {
 # # but instead just a single name->code mapping
 #
 # has 'override_method_modifiers' => (
-#     metaclass => 'Collection::Hash',
+#     metaclass => 'Hash',
 #     reader    =>'get_override_method_modifiers_map',
 #     isa       => 'HashRef[CodeRef]',
 #     provides  => {
@@ -812,8 +807,8 @@ This method creates a new role object with the provided name.
 
 This method accepts a list of array references. Each array reference
 should contain a role name as its first element. The second element is
-an optional hash reference. The hash reference can contain C<excludes>
-and C<alias> keys to control how methods are composed from the role.
+an optional hash reference. The hash reference can contain C<-excludes>
+and C<-alias> keys to control how methods are composed from the role.
 
 The return value is a new L<Moose::Meta::Role::Composite> that
 represents the combined roles.