}
sub _apply_attributes{
- my($role, $consumer, $args) = @_;
+ #my($role, $consumer, $args) = @_;
+ my($role, $consumer) = @_;
for my $attr_name ($role->get_attribute_list) {
next if $consumer->has_attribute($attr_name);
}
sub _apply_modifiers{
- my($role, $consumer, $args) = @_;
+ #my($role, $consumer, $args) = @_;
+ my($role, $consumer) = @_;
+
if(my $modifiers = $role->{override_method_modifiers}){
foreach my $method_name (keys %{$modifiers}){
}
sub _append_roles{
- my($role, $consumer, $args) = @_;
+ #my($role, $consumer, $args) = @_;
+ my($role, $consumer) = @_;
my $roles = $consumer->{roles};
foreach my $r($role, @{$role->get_roles}){
- if(!$consumer->does_role($r->name)){
+ if(!$consumer->does_role($r)){
push @{$roles}, $r;
}
}
if(defined $instance){ # Application::ToInstance
# rebless instance
bless $instance, $consumer->name;
- $consumer->_initialize_object($instance, $instance);
+ $consumer->_initialize_object($instance, $instance, 1);
}
return;
sub combine {
- my($role_class, @role_specs) = @_;
+ my($self, @role_specs) = @_;
require 'Mouse/Meta/Role/Composite.pm'; # we don't want to create its namespace
(defined $role_name)
|| $self->throw_error("You must supply a role name to look for");
+ $role_name = $role_name->name if ref $role_name;
+
# if we are it,.. then return true
return 1 if $role_name eq $self->name;
# otherwise.. check our children
=head1 VERSION
-This document describes Mouse version 0.50_03
+This document describes Mouse version 0.64
=head1 SEE ALSO