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) && $value =~ /\A [+-]? [0-9]+ \z/xms;
+}
sub Str {
my($value) = @_;
return defined($value) && ref(\$value) eq 'SCALAR';
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' }
=head1 VERSION
-This document describes Mouse version 0.50_04
+This document describes Mouse version 0.50_08
=head1 SEE ALSO