X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FAttribute.pm;h=9176bd0848abae1244aae137316a4e6b03d4096b;hb=bb73340585512b0e09519eea54480ea3729ebf0b;hp=ff1a3ffd4bc4df79c9a67e429f1d3ca72fd0d362;hpb=1bfebf5f59ec3d3b5624f3d3a186506150f08ed2;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Meta/Attribute.pm b/lib/Mouse/Meta/Attribute.pm index ff1a3ff..9176bd0 100644 --- a/lib/Mouse/Meta/Attribute.pm +++ b/lib/Mouse/Meta/Attribute.pm @@ -12,8 +12,14 @@ sub new { $args{init_arg} = $args{name} unless exists $args{init_arg}; + $args{is} ||= ''; + if ( $args{lazy_build} ) { + $args{lazy} = 1; + $args{builder} ||= "_build_$args{name}"; + } + bless \%args, $class; } @@ -283,7 +289,7 @@ sub get_parent_args { my $name = shift; for my $super ($class->meta->linearized_isa) { - my $super_attr = $super->meta->get_attribute($name) + my $super_attr = $super->can("meta") && $super->meta->get_attribute($name) or next; return %{ $super_attr->_create_args }; }