X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FPurePerl.pm;h=18620c51ba2f171bdab72d905570bb4903ee2b50;hb=refs%2Ftags%2F0.50_08;hp=b1e652f0ad5d4ba3c4cf8e04470fa2dbcda87112;hpb=98a8fd12ede46b22edc10d229680d9d2e8deeade;p=gitmo%2FMouse.git diff --git a/lib/Mouse/PurePerl.pm b/lib/Mouse/PurePerl.pm index b1e652f..18620c5 100644 --- a/lib/Mouse/PurePerl.pm +++ b/lib/Mouse/PurePerl.pm @@ -145,8 +145,16 @@ sub Bool { $_[0] ? $_[0] eq '1' : 1 } sub Undef { !defined($_[0]) } sub Defined { defined($_[0]) } sub Value { defined($_[0]) && !ref($_[0]) } -sub Num { !ref($_[0]) && looks_like_number($_[0]) } -sub Int { defined($_[0]) && !ref($_[0]) && $_[0] =~ /^-?[0-9]+$/ } +sub Num { looks_like_number($_[0]) } +sub Int { + my($value) = @_; + looks_like_number($value) && do{ + # work around RT #55048 + # This is for more than 32 bit int on 32 bit systems + require POSIX; + POSIX::fmod($value, 1) == 0; + }; +} sub Str { my($value) = @_; return defined($value) && ref(\$value) eq 'SCALAR'; @@ -243,6 +251,9 @@ sub add_method { package Mouse::Meta::Class; +use Mouse::Meta::Method::Constructor; +use Mouse::Meta::Method::Destructor; + sub method_metaclass { $_[0]->{method_metaclass} || 'Mouse::Meta::Method' } sub attribute_metaclass { $_[0]->{attribute_metaclass} || 'Mouse::Meta::Attribute' } @@ -708,7 +719,7 @@ Mouse::PurePerl - A Mouse guts in pure Perl =head1 VERSION -This document describes Mouse version 0.50_05 +This document describes Mouse version 0.50_08 =head1 SEE ALSO