У меня есть Moosebased class с несколькими атрибутами, которые я хочу удалить.Как отклонить атрибут в классе на основе Лоз
Я хочу использовать их для создания предупреждения об устаревании.
Возможно с возможностью отключения предупреждений.
package JSON::RPC::LWP;
...
use Moose;
...
has previous_id => (
is => 'ro',
isa => JSONValue,
init_arg => undef,
writer => '_previous_id',
predicate => 'has_previous_id',
clearer => 'clear_previous_id',
);
# default id generator is a simple incrementor
my $default_id_gen = sub{
my($self,$prev) = @_;
$prev ||= 0;
return $prev + 1;
};
has id_generator => (
is => 'rw',
isa => 'Maybe[CodeRef]',
default => sub{ $default_id_gen },
trigger => sub{
my($self,$coderef) = @_;
unless($coderef){
$self->{id_generator} = $default_id_gen;
}
},
);
У меня уже есть removed the only place id_generator
was used.
Прямо сейчас единственный известный user этого модуля устанавливает id_generator
кодового реф, который эффективно устанавливает его будущее поведение.
У меня есть modified это только для старых версий моего модуля. (Еще не выпущен)
package Games::Lacuna::Client::RPC;
...
use Moose;
extends 'JSON::RPC::LWP';
...
has '+id_generator' => (
default => sub{sub{1}},
);
Поздравляем с тем, что пользователь # 1337 переполнен стеком! вы 1337! –