Class-InsideOut
view release on metacpan or search on metacpan
lib/Class/InsideOut.pm view on Meta::CPAN
next unless $properties;
if ( exists $properties->{$prop} ) {
$properties->{$prop}{ refaddr $self } = $args{$prop};
}
}
}
return $self;
}
sub private($\%;$) { ## no critic -- prototype
&_check_property;
$_[2] ||= {};
$_[2] = { %{$_[2]}, privacy => 'private' };
goto &_install_property;
}
sub property($\%;$) { ## no critic -- prototype
&_check_property;
goto &_install_property;
}
sub public($\%;$) { ## no critic -- prototype
&_check_property;
$_[2] ||= {};
$_[2] = { %{$_[2]}, privacy => 'public' };
goto &_install_property;
}
sub readonly($\%;$) { ## no critic -- prototype
&_check_property;
$_[2] ||= {};
$_[2] = {
%{$_[2]},
privacy => 'public',
set_hook => sub { die "is read-only\n" }
};
goto &_install_property;
}
( run in 0.787 second using v1.01-cache-2.11-cpan-65fba6d93b7 )