Refactor attribute constructor
[gitmo/Mouse.git] / lib / Mouse.pm
index 5d2903d..6c09a77 100644 (file)
@@ -4,14 +4,12 @@ use warnings;
 use 5.006;
 use base 'Exporter';
 
-our $VERSION = '0.32';
-
-sub moose_version(){ 0.90 } # which Mouse is a subset of
+our $VERSION = '0.33_01';
 
 use Carp 'confess';
 use Scalar::Util 'blessed';
 
-use Mouse::Util qw(load_class is_class_loaded);
+use Mouse::Util qw(load_class is_class_loaded not_supported);
 
 use Mouse::Meta::Module;
 use Mouse::Meta::Class;
@@ -38,7 +36,9 @@ sub extends { Mouse::Meta::Class->initialize(scalar caller)->superclasses(@_) }
 
 sub has {
     my $meta = Mouse::Meta::Class->initialize(scalar caller);
-    $meta->add_attribute(@_);
+    my $name = shift;
+
+    $meta->add_attribute($_ => @_) for ref($name) ? @{$name} : $name;
 }
 
 sub before {