X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FMixin%2FHasMethods.pm;h=1977d726cb539db3cc14af593806de484d2690cb;hb=37a46507b7f6a008935b5f26255cda64b3be30ed;hp=7c62c71234cc4cc95acba477ecb5394a215767d0;hpb=bc2c41b4129a05d2cd4aa6729de6529d49dd89f2;p=gitmo%2FClass-MOP.git diff --git a/lib/Class/MOP/Mixin/HasMethods.pm b/lib/Class/MOP/Mixin/HasMethods.pm index 7c62c71..1977d72 100644 --- a/lib/Class/MOP/Mixin/HasMethods.pm +++ b/lib/Class/MOP/Mixin/HasMethods.pm @@ -21,14 +21,15 @@ sub _meta_method_class { 'Class::MOP::Method::Meta' } sub _add_meta_method { my $self = shift; + my ($name) = @_; my $existing_method = $self->can('find_method_by_name') - ? $self->find_method_by_name('meta') - : $self->get_method('meta'); + ? $self->find_method_by_name($name) + : $self->get_method($name); return if $existing_method && $existing_method->isa($self->_meta_method_class); $self->add_method( - 'meta' => $self->_meta_method_class->wrap( - name => 'meta', + $name => $self->_meta_method_class->wrap( + name => $name, package_name => $self->name, associated_metaclass => $self, )