В настоящее время я делегирую метод Builder всем объектам, расширяющим один из моих базовых классов. Проблема, с которой я столкнулся, заключается в том, что мне нужно, чтобы все объекты либо читали атрибуты самих себя, либо передавались в значении.
# In Role:
has 'const_string' => (
isa => 'Str',
is => 'ro',
default => 'test',
);
has 'attr' => (
isa => 'Str',
is => 'ro',
builder => '_builder',
);
requires '_builder';
# In extending object - desired 1
sub _builder {
my ($self) = shift;
# $self contains $self->const_string
}
# In extending object - desired 2
sub _builder {
my ($arg1, $arg2) = @_;
# $args can be passed somehow?
}
Возможно ли это в настоящее время или мне придется сделать это каким-то другим способом?