Bump to 0.19
[gitmo/Mouse.git] / lib / Mouse.pm
index 2281d35..5f6ea37 100644 (file)
@@ -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 {