X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FTypeRegistry.pm;h=48d2610919241d10fc8971a785a7998136b8ec21;hb=58fe9fb7641a3bb817b773339bc1b81a5a373e62;hp=4f3125cc92462261975ea9c898da2ab7cc6446c4;hpb=0f636a977c023ab857c525f6e4eed7e4881d0e26;p=gitmo%2FMouse.git diff --git a/lib/Mouse/TypeRegistry.pm b/lib/Mouse/TypeRegistry.pm index 4f3125c..48d2610 100644 --- a/lib/Mouse/TypeRegistry.pm +++ b/lib/Mouse/TypeRegistry.pm @@ -2,7 +2,9 @@ package Mouse::TypeRegistry; use strict; use warnings; -use Scalar::Util qw/looks_like_number blessed openhandle/; + +use Mouse::Util qw/blessed looks_like_number/; +use Scalar::Util qw/openhandle/; no warnings 'uninitialized'; sub optimized_constraints { @@ -18,7 +20,7 @@ sub optimized_constraints { Num => sub { !ref($_) && looks_like_number($_) }, Int => sub { defined($_) && !ref($_) && /^-?[0-9]+$/ }, Str => sub { defined($_) && !ref($_) }, - ClassName => sub { 1 }, + ClassName => sub { Mouse::is_class_loaded($_) }, Ref => sub { ref($_) }, ScalarRef => sub { ref($_) eq 'SCALAR' }, @@ -42,3 +44,18 @@ sub optimized_constraints { 1; +__END__ + +=head1 NAME + +Mouse::TypeRegistry - simple type constraints + +=head1 METHODS + +=head2 optimized_constraints -> HashRef[CODE] + +Returns the simple type constraints that Mouse understands. + +=cut + +