X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse.pm;h=5f6ea376450f40f135b2044f8c1ab824a7250fbf;hb=c4ec764243251d46cffa30ae028beef530b0a432;hp=2281d357d5e275c0cf95db0db22b922476670e3d;hpb=bfcc8a055b739e04da20df0069a9ad329b9429cf;p=gitmo%2FMouse.git diff --git a/lib/Mouse.pm b/lib/Mouse.pm index 2281d35..5f6ea37 100644 --- a/lib/Mouse.pm +++ b/lib/Mouse.pm @@ -4,15 +4,7 @@ use warnings; use 5.006; use base 'Exporter'; -our $VERSION = '0.18'; - -BEGIN { - if ($ENV{MOUSE_DEBUG}) { - *DEBUG = sub (){ 1 }; - } else { - *DEBUG = sub (){ 0 }; - } -} +our $VERSION = '0.19'; use Carp 'confess'; use Scalar::Util 'blessed'; @@ -29,30 +21,7 @@ sub extends { Mouse::Meta::Class->initialize(caller)->superclasses(@_) } sub has { my $meta = Mouse::Meta::Class->initialize(caller); - - my $names = shift; - $names = [$names] if !ref($names); - my $metaclass = 'Mouse::Meta::Attribute'; - my %options = @_; - - if ( my $metaclass_name = delete $options{metaclass} ) { - my $new_class = Mouse::Util::resolve_metaclass_alias( - 'Attribute', - $metaclass_name - ); - if ( $metaclass ne $new_class ) { - $metaclass = $new_class; - } - } - - for my $name (@$names) { - if ($name =~ s/^\+//) { - $metaclass->clone_parent($meta, $name, @_); - } - else { - $metaclass->create($meta, $name, @_); - } - } + $meta->add_attribute(@_); } sub before {