X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FPurePerl.pm;h=d3fb64fea051a47dcc0d099d5a4b9774f4ee718a;hb=26f0aa174f72fdf5fd803278212b7cefa83c8734;hp=d14895e69e8523dcb89809ba1db2ec071f51cf5e;hpb=a7e3b78eb9097adb42355eaa27a6c5846a1ad9cc;p=gitmo%2FMouse.git diff --git a/lib/Mouse/PurePerl.pm b/lib/Mouse/PurePerl.pm index d14895e..d3fb64f 100644 --- a/lib/Mouse/PurePerl.pm +++ b/lib/Mouse/PurePerl.pm @@ -5,11 +5,11 @@ use strict; use warnings; use warnings FATAL => 'redefine'; # to avoid to load Mouse::PurePerl twice +use Scalar::Util (); use B (); require Mouse::Util; - # taken from Class/MOP.pm sub is_valid_class_name { my $class = shift; @@ -134,12 +134,11 @@ sub generate_can_predicate_for { package Mouse::Util::TypeConstraints; -use Scalar::Util (); sub Any { 1 } sub Item { 1 } -sub Bool { $_[0] ? $_[0] eq '1' : 1 } +sub Bool { !$_[0] || $_[0] eq '1' } sub Undef { !defined($_[0]) } sub Defined { defined($_[0]) } sub Value { defined($_[0]) && !ref($_[0]) } @@ -534,7 +533,7 @@ sub _process_options{ if(defined $tc){ # both isa and does supplied my $does_ok = do{ local $@; - eval{ "$tc"->does($args) }; + eval{ "$tc"->does($args->{does}) }; }; if(!$does_ok){ $class->throw_error("Cannot have both an isa option and a does option because '$tc' does not do '$args->{does}' on attribute ($name)"); @@ -745,7 +744,7 @@ Mouse::PurePerl - A Mouse guts in pure Perl =head1 VERSION -This document describes Mouse version 0.76 +This document describes Mouse version 0.77 =head1 SEE ALSO