From: gfx Date: Mon, 31 Aug 2009 08:01:42 +0000 (+0900) Subject: Update OptimizedConstraints.pm X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=10c7759e5c49a7f4941f4001bec793ed73170a23;p=gitmo%2FMoose.git Update OptimizedConstraints.pm --- diff --git a/lib/Moose/Util/TypeConstraints/OptimizedConstraints.pm b/lib/Moose/Util/TypeConstraints/OptimizedConstraints.pm index 0c05df5..69e3b67 100644 --- a/lib/Moose/Util/TypeConstraints/OptimizedConstraints.pm +++ b/lib/Moose/Util/TypeConstraints/OptimizedConstraints.pm @@ -3,49 +3,13 @@ package Moose::Util::TypeConstraints::OptimizedConstraints; use strict; use warnings; -use Class::MOP; -use Scalar::Util 'blessed', 'looks_like_number'; +use Moose (); our $VERSION = '0.89'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; -sub Value { defined($_[0]) && !ref($_[0]) } - -sub Ref { ref($_[0]) } - -sub Str { defined($_[0]) && !ref($_[0]) } - -sub Num { !ref($_[0]) && looks_like_number($_[0]) } - -sub Int { defined($_[0]) && !ref($_[0]) && $_[0] =~ /^-?[0-9]+$/ } - -sub ScalarRef { ref($_[0]) eq 'SCALAR' } -sub ArrayRef { ref($_[0]) eq 'ARRAY' } -sub HashRef { ref($_[0]) eq 'HASH' } -sub CodeRef { ref($_[0]) eq 'CODE' } -sub RegexpRef { ref($_[0]) eq 'Regexp' } -sub GlobRef { ref($_[0]) eq 'GLOB' } - -sub FileHandle { ref($_[0]) eq 'GLOB' && Scalar::Util::openhandle($_[0]) or blessed($_[0]) && $_[0]->isa("IO::Handle") } - -sub Object { blessed($_[0]) && blessed($_[0]) ne 'Regexp' } - -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]) - && (Class::MOP::class_of($_[0]) || return)->isa('Moose::Meta::Role') -} - -# NOTE: -# we have XS versions too, ... -# 04:09 <@konobi> nothingmuch: konobi.co.uk/code/utilsxs.tar.gz -# 04:09 <@konobi> or utilxs.tar.gz iirc +# All the stuff are now in Moose.xs 1; @@ -67,6 +31,16 @@ no user serviceable parts inside. =over 4 +=item C + +=item C + +=item C + +=item C + +=item C + =item C =item C