use Carp 'confess';
use Scalar::Util 'blessed', 'reftype', 'weaken';
-our $VERSION = '0.16';
+our $VERSION = '0.17';
our $AUTHORITY = 'cpan:STEVAN';
use base 'Class::MOP::Object';
# 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 {
- confess(blessed($instance)." does not support builder method '$builder' for attribute '" . $self->name . "'");
+ }
+ else {
+ confess(blessed($instance)." does not support builder method '". $self->{'$!builder'} ."' for attribute '" . $self->name . "'");
}
}
}
=item B<has_default>
+=item B<has_builder>
+
=back
=head2 Class association