);
}
-sub coerce_constraint { # DEPRECATED
- my $type = $_[0]->{type_constraint}
- or return $_[1];
-
- Carp::cluck("coerce_constraint() has been deprecated, which was an internal utility anyway");
-
- return Mouse::Util::TypeConstraints->typecast_constraints($_[0]->associated_class->name, $type, $_[1]);
-}
-
sub clone_and_inherit_options{
my($self, %args) = @_;
elsif (ref($handles) eq 'ARRAY') {
return map { $_ => $_ } @$handles;
}
+ elsif ( ref($handles) eq 'CODE' ) {
+ my $class_or_role = ( $self->{isa} || $self->{does} )
+ || $self->throw_error( "Cannot find delegate metaclass for attribute " . $self->name );
+ return $handles->( $self, Mouse::Meta::Class->initialize("$class_or_role"));
+ }
elsif (ref($handles) eq 'Regexp') {
my $class_or_role = ($self->{isa} || $self->{does})
|| $self->throw_error("Cannot delegate methods based on a Regexp without a type constraint (isa)");
=head1 VERSION
-This document describes Mouse version 0.45
+This document describes Mouse version 0.4501
=head1 METHODS