X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FAttribute.pm;h=e97d9e70851ede4782a3ed9dd24f325aa30f9730;hp=22d556a835809ef12c2a24949f3c84e528161d46;hb=4819ed36c693b311abb3f7d9965e1eeac1748345;hpb=f48920c11c806b2a1fd60be145ff2cdf79750878 diff --git a/lib/Mouse/Meta/Attribute.pm b/lib/Mouse/Meta/Attribute.pm index 22d556a..e97d9e7 100644 --- a/lib/Mouse/Meta/Attribute.pm +++ b/lib/Mouse/Meta/Attribute.pm @@ -8,11 +8,9 @@ use Mouse::Meta::TypeConstraint; #use Mouse::Meta::Method::Accessor; use Mouse::Meta::Method::Delegation; - sub _process_options{ my($class, $name, $args) = @_; - # XXX: for backward compatibility (with method modifiers) if($class->can('canonicalize_args') != \&canonicalize_args){ %{$args} = $class->canonicalize_args($name, %{$args}); @@ -205,7 +203,7 @@ sub canonicalize_args{ # DEPRECATED Carp::cluck("$self->canonicalize_args has been deprecated." . "Use \$self->_process_options instead.") - if _MOUSE_VERBOSE; + if Mouse::Util::_MOUSE_VERBOSE; return %args; } @@ -215,7 +213,7 @@ sub create { # DEPRECATED Carp::cluck("$self->create has been deprecated." . "Use \$meta->add_attribute and \$attr->install_accessors instead.") - if _MOUSE_VERBOSE; + if Mouse::Util::_MOUSE_VERBOSE; # noop return $self; @@ -284,7 +282,7 @@ sub clone_parent { # DEPRECATED Carp::cluck("$self->clone_parent has been deprecated." . "Use \$meta->add_attribute and \$attr->install_accessors instead.") - if _MOUSE_VERBOSE; + if Mouse::Util::_MOUSE_VERBOSE; $self->clone_and_inherited_args($class, $name, %args); } @@ -360,7 +358,7 @@ sub _canonicalize_handles { my $meta = Mouse::Meta::Class->initialize("$class_or_role"); # "" for stringify return map { $_ => $_ } - grep { $_ ne 'meta' && !Mouse::Object->can($_) && $_ =~ $handles } + grep { !Mouse::Object->can($_) && $_ =~ $handles } Mouse::Util::is_a_metarole($meta) ? $meta->get_method_list : $meta->get_all_method_names; @@ -371,12 +369,11 @@ sub _canonicalize_handles { } sub associate_method{ - my ($attribute, $method) = @_; + my ($attribute, $method_name) = @_; $attribute->{associated_methods}++; return; } - sub delegation_metaclass() { 'Mouse::Meta::Method::Delegation' } sub install_accessors{ @@ -390,7 +387,7 @@ sub install_accessors{ my $generator = '_generate_' . $type; my $code = $accessor_class->$generator($attribute, $metaclass); $metaclass->add_method($attribute->{$type} => $code); - $attribute->associate_method($code); + $attribute->associate_method($attribute->{$type}); } } @@ -405,11 +402,10 @@ sub install_accessors{ $reader, $handle_name, $method_to_call); $metaclass->add_method($handle_name => $code); - $attribute->associate_method($code); + $attribute->associate_method($handle_name); } } - if($attribute->can('create') != \&create){ # backword compatibility $attribute->create($metaclass, $attribute->name, %{$attribute}); @@ -426,7 +422,6 @@ sub throw_error{ } 1; - __END__ =head1 NAME @@ -435,7 +430,7 @@ Mouse::Meta::Attribute - The Mouse attribute metaclass =head1 VERSION -This document describes Mouse version 0.40_03 +This document describes Mouse version 0.43 =head1 METHODS @@ -543,12 +538,12 @@ is equivalent to this: =back -=head2 C<< associate_method(Method) >> +=head2 C<< associate_method(MethodName) >> Associates a method with the attribute. Typically, this is called internally when an attribute generates its accessors. -Currently the argument I is ignored in Mouse. +Currently the argument I is ignored in Mouse. =head2 C<< verify_against_type_constraint(Item) -> TRUE | ERROR >>