Checking in changes prior to tagging of version 0.52. Changelog diff is:
[gitmo/Mouse.git] / lib / Mouse / Meta / Attribute.pm
index 1fa1dd0..1ea4b32 100644 (file)
@@ -44,6 +44,8 @@ my %valid_options = map { $_ => undef } (
   'curries',
 );
 
+our @CARP_NOT = qw(Mouse::Meta::Class);
+
 sub new {
     my $class = shift;
     my $name  = shift;
@@ -76,8 +78,9 @@ sub new {
 
     # (3) bad options found
     if(@bad){
-        @bad = sort @bad;
-        Carp::cluck("Found unknown argument(s) passed to '$name' attribute constructor in '$class': @bad");
+        Carp::carp(
+            "Found unknown argument(s) passed to '$name' attribute constructor in '$class': "
+            . Mouse::Util::english_list(@bad));
     }
 
     my $self = bless $args, $class;
@@ -133,7 +136,8 @@ sub interpolate_class{
 }
 
 sub canonicalize_args{ # DEPRECATED
-    my ($self, $name, %args) = @_;
+    #my($self, $name, %args) = @_;
+    my($self, undef, %args) = @_;
 
     Carp::cluck("$self->canonicalize_args has been deprecated."
         . "Use \$self->_process_options instead.");
@@ -142,7 +146,8 @@ sub canonicalize_args{ # DEPRECATED
 }
 
 sub create { # DEPRECATED
-    my ($self, $class, $name, %args) = @_;
+    #my($self, $class, $name, %args) = @_;
+    my($self) = @_;
 
     Carp::cluck("$self->create has been deprecated."
         . "Use \$meta->add_attribute and \$attr->install_accessors instead.");
@@ -152,7 +157,8 @@ sub create { # DEPRECATED
 }
 
 sub _coerce_and_verify {
-    my($self, $value, $instance) = @_;
+    #my($self, $value, $instance) = @_;
+    my($self, $value) = @_;
 
     my $type_constraint = $self->{type_constraint};
     return $value if !defined $type_constraint;
@@ -297,7 +303,8 @@ sub clear_value {
 
 
 sub associate_method{
-    my ($attribute, $method_name) = @_;
+    #my($attribute, $method_name) = @_;
+    my($attribute) = @_;
     $attribute->{associated_methods}++;
     return;
 }
@@ -338,7 +345,9 @@ sub install_accessors{
     return;
 }
 
-sub delegation_metaclass() { 'Mouse::Meta::Method::Delegation' }
+sub delegation_metaclass() { ## no critic
+    'Mouse::Meta::Method::Delegation'
+}
 
 sub _canonicalize_handles {
     my($self, $handles) = @_;
@@ -372,10 +381,8 @@ sub _canonicalize_handles {
 
 sub _make_delegation_method {
     my($self, $handle, $method_to_call) = @_;
-    my $delegator = $self->delegation_metaclass;
-    Mouse::Util::load_class($delegator);
-
-    return $delegator->_generate_delegation($self, $handle, $method_to_call);
+    return Mouse::Util::load_class($self->delegation_metaclass)
+        ->_generate_delegation($self, $handle, $method_to_call);
 }
 
 sub throw_error{
@@ -394,7 +401,7 @@ Mouse::Meta::Attribute - The Mouse attribute metaclass
 
 =head1 VERSION
 
-This document describes Mouse version 0.50_01
+This document describes Mouse version 0.52
 
 =head1 METHODS