blob: 10748e000c8727a5fa342ba78397f53ec568d94b (
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 MooseX::Bread::Board::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;
|