Include the class name in the method-less attribute message
Shawn M Moore [Fri, 26 Jun 2009 15:32:05 +0000 (11:32 -0400)]
lib/Moose/Meta/Attribute.pm
t/020_attributes/026_attribute_without_any_methods.t

index 59ec385..25b94cb 100644 (file)
@@ -562,7 +562,9 @@ sub install_accessors {
         || ($self->_is_metadata || '') eq 'bare'
     ) {
         Carp::cluck(
-            'Attribute (' . $self->name . ') has no associated methods'
+            'Attribute (' . $self->name . ') of class '
+            . $self->associated_class->name
+            . ' has no associated methods'
             . ' (did you mean to provide an "is" argument?)'
             . "\n"
         )
index 5f0ba66..e932718 100644 (file)
@@ -8,13 +8,13 @@ use Test::More tests => 2;
 use Moose ();
 use Moose::Meta::Class;
 
-my $meta = Moose::Meta::Class->create_anon_class;
+my $meta = Moose::Meta::Class->create('Banana');
 
 my $warn;
 $SIG{__WARN__} = sub { $warn = "@_" };
 
 $meta->add_attribute('foo');
-like $warn, qr/Attribute \(foo\) has no associated methods/,
+like $warn, qr/Attribute \(foo\) of class Banana has no associated methods/,
   'correct error message';
 
 $warn = '';