use Scalar::Util 'blessed', 'weaken';
use overload ();
-our $VERSION = '0.57';
+our $VERSION = '0.60';
our $AUTHORITY = 'cpan:STEVAN';
use Moose::Meta::Method::Accessor;
Moose::Util::resolve_metatrait_alias(Attribute => $role_name)
};
return 0 if !defined($name); # failed to load class
- return Moose::Object::does($self, $name);
+ return $self->Moose::Object::does($name);
}
sub throw_error {
$value = $type_constraint->coerce($value)
if ($self->should_coerce);
$type_constraint->check($value)
- || c$self->throw_error("Attribute (" . $self->name
+ || $self->throw_error("Attribute (" . $self->name
. ") does not pass the type constraint because: "
. $type_constraint->get_message($value), type_constraint => $type_constraint, data => $value);
}
}
}
else {
+ Class::MOP::load_class($handles)
+ unless Class::MOP::is_class_loaded($handles);
+
my $role_meta = eval { $handles->meta };
if ($@) {
$self->throw_error("Unable to canonicalize the 'handles' option with $handles because : $@", data => $handles, error => $@);
(blessed $role_meta && $role_meta->isa('Moose::Meta::Role'))
|| $self->throw_error("Unable to canonicalize the 'handles' option with $handles because ->meta is not a Moose::Meta::Role", data => $handles);
-
+
return map { $_ => $_ } (
$role_meta->get_method_list,
$role_meta->get_required_method_list