blob: e38236b01b84ac06fc928cdbd37715dc0794dd6e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package Bread::Board::Declare::Meta::Role::Accessor;
use Moose::Role;
around _inline_get => sub {
my $orig = shift;
my $self = shift;
my ($instance) = @_;
my $attr = $self->associated_attribute;
return 'do {' . "\n"
. 'my $val;' . "\n"
. 'if (' . $self->_inline_has($instance) . ') {' . "\n"
. '$val = ' . $self->$orig($instance) . ';' . "\n"
. '}' . "\n"
. 'else {' . "\n"
. '$val = ' . $instance . '->get_service(\'' . $attr->name . '\')->get;' . "\n"
. $self->_inline_check_constraint('$val')
. '}' . "\n"
. '$val' . "\n"
. '}';
};
no Moose::Role;
1;
|