squash, cleanup on _validate_codulatable
Matt Phillips [Tue, 30 Apr 2013 14:59:46 +0000 (10:59 -0400)]
lib/Method/Generate/Accessor.pm
lib/Moo.pm

index cdba23f..2aad0e1 100644 (file)
@@ -570,13 +570,18 @@ sub default_construction_string { '{}' }
 
 sub _validate_codulatable {
   my ($self, $setting, $value, $into, $appended) = @_;
-  $appended ||= '';
   my $invalid = "Invalid $setting '" . overload::StrVal($value)
-    . "' for $into not a coderef $appended";
-  die "$invalid or code-convertible object"
-    unless ref $value and (ref $value eq 'CODE' or blessed($value));
-  die "$invalid and could not be converted to a coderef: $@"
-    if !eval { \&$value };
+    . "' for $into not a coderef";
+  $invalid .= " $appended" if $appended;
+
+  unless (ref $value and (ref $value eq 'CODE' or blessed($value))) {
+    die "$invalid or code-convertible object";
+  }
+
+  unless (eval { \&$value }) {
+    die "$invalid and could not be converted to a coderef: $@";
+  }
+
   1;
 }
 
index 4ef6ab1..61f02b2 100644 (file)
@@ -652,8 +652,6 @@ given attributes specifications if necessary when upgrading to a Moose role or
 class. You shouldn't need this by default, but is provided as a means of
 possible extensibility.
 
-L<Sub::Quote aware|/SUB QUOTE AWARE>
-
 =back
 
 =head2 before