X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FClass.pm;h=81fb0b0812ae793a31b9414813cfdf640f2d4126;hb=eb6f444462e64af1280ee10d00e8b9020c7fa513;hp=6d9cc4f97c5d7294787cb2d29c6e21b69f5baf85;hpb=cecfb9738ad8b93c2ca0171b61c06cac0ebd7484;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Class.pm b/lib/Mouse/Meta/Class.pm index 6d9cc4f..81fb0b0 100644 --- a/lib/Mouse/Meta/Class.pm +++ b/lib/Mouse/Meta/Class.pm @@ -147,7 +147,8 @@ sub add_attribute { } } -sub compute_all_applicable_attributes { +sub compute_all_applicable_attributes { shift->get_all_attributes(@_) } +sub get_all_attributes { my $self = shift; my (@attr, %seen); @@ -192,7 +193,7 @@ sub clone_instance { my $clone = bless { %$instance }, ref $instance; - foreach my $attr ($class->compute_all_applicable_attributes()) { + foreach my $attr ($class->get_all_attributes()) { if ( defined( my $init_arg = $attr->init_arg ) ) { if (exists $params{$init_arg}) { $clone->{ $attr->name } = $params{$init_arg}; @@ -308,7 +309,7 @@ sub does_role { for my $class ($self->linearized_isa) { next unless $class->can('meta') and $class->meta->can('roles'); - for my $role (@{ $self->roles }) { + for my $role (@{ $class->meta->roles }) { return 1 if $role->name eq $role_name; } } @@ -423,7 +424,7 @@ Gets (or sets) the list of superclasses of the owner class. Begins keeping track of the existing L for the owner class. -=head2 compute_all_applicable_attributes -> (Mouse::Meta::Attribute) +=head2 get_all_attributes -> (Mouse::Meta::Attribute) Returns the list of all L instances associated with this class and its superclasses. @@ -437,7 +438,7 @@ L objects. This returns a list of attribute names which are defined in the local class. If you want a list of all applicable attributes for a class, -use the C method. +use the C method. =head2 has_attribute Name -> Bool @@ -458,7 +459,8 @@ metaclass. =head2 clone_instance Instance, Parameters -> Instance -Clones the given C and sets any additional parameters. +The clone_instance method has been made private. +The public version is deprecated. =cut