X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FAttribute.pm;h=3da3d96ca660ffbe7f42442bfb9436c2979800ae;hb=b7bdffc385af1765c710357109b620b93ff14eae;hp=111b9b6e036ca9706149ade7aa4ecc01014b1085;hpb=bf7310868c4bde81b717aaa39a9cb561ac96e697;p=gitmo%2FClass-MOP.git diff --git a/lib/Class/MOP/Attribute.pm b/lib/Class/MOP/Attribute.pm index 111b9b6..3da3d96 100644 --- a/lib/Class/MOP/Attribute.pm +++ b/lib/Class/MOP/Attribute.pm @@ -90,12 +90,15 @@ sub initialize_instance_slot { # attribute's default value (if it has one) if(exists $params->{$init_arg}){ $meta_instance->set_slot_value($instance, $self->name, $params->{$init_arg}); - } elsif (defined $self->{'$!default'}) { + } + elsif (defined $self->{'$!default'}) { $meta_instance->set_slot_value($instance, $self->name, $self->default($instance)); - } elsif (defined( my $builder = $self->{'$!builder'})) { - if($builder = $instance->can($builder) ){ + } + elsif (defined( my $builder = $self->{'$!builder'})) { + if ($builder = $instance->can($builder)) { $meta_instance->set_slot_value($instance, $self->name, $instance->$builder); - } else { + } + else { confess(blessed($instance)." does not support builder method '". $self->{'$!builder'} ."' for attribute '" . $self->name . "'"); } }