use Class::MOP;
use Scalar::Util 'blessed', 'looks_like_number';
-our $VERSION = '0.70';
+our $VERSION = '0.92';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
sub Ref { ref($_[0]) }
-sub Str { defined($_[0]) && !ref($_[0]) }
+sub Str { defined($_[0]) && ref(\$_[0]) eq 'SCALAR' }
sub Num { !ref($_[0]) && looks_like_number($_[0]) }
sub Object { blessed($_[0]) && blessed($_[0]) ne 'Regexp' }
-sub Role { blessed($_[0]) && $_[0]->can('does') }
+sub Role { Carp::cluck('The Role type is deprecated.'); blessed($_[0]) && $_[0]->can('does') }
sub ClassName {
return Class::MOP::is_class_loaded( $_[0] );
}
sub RoleName {
- ClassName($_[0])
- && (($_[0]->can('meta') || return)->($_[0]) || return)->isa('Moose::Meta::Role')
+ ClassName($_[0])
+ && (Class::MOP::class_of($_[0]) || return)->isa('Moose::Meta::Role')
}
# NOTE:
=head1 DESCRIPTION
-This file contains the hand optimized versions of Moose type constraints,
+This file contains the hand optimized versions of Moose type constraints,
no user serviceable parts inside.
=head1 FUNCTIONS
=head1 BUGS
-All complex software has bugs lurking in it, and this module is no
+All complex software has bugs lurking in it, and this module is no
exception. If you find a bug please either email me, or add the bug
to cpan-RT.