use Scalar::Util qw(blessed refaddr);
use Sub::Name qw(subname);
+use Try::Tiny;
use base qw(Class::MOP::Object);
return $msg->($value);
}
else {
- $value = (defined $value ? overload::StrVal($value) : 'undef');
+ # have to load it late like this, since it uses Moose itself
+ if (try { Class::MOP::load_class('Devel::PartialDump'); 1 }) {
+ $value = Devel::PartialDump->new->dump($value);
+ }
+ else {
+ $value = (defined $value ? overload::StrVal($value) : 'undef');
+ }
return "Validation failed for '" . $self->name . "' with value $value";
}
}