diff options
author | Jesse Luehrs <doy@tozt.net> | 2011-02-21 00:26:12 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2011-02-21 00:26:12 -0600 |
commit | eb9a0d361b37c5b3a7d750385f6b3a3300301fbc (patch) | |
tree | 7dbfc3fbc168feec1f3d9137a2a5fb767738e5fc /lib | |
parent | 53013e0c04d124444c015e657c4c8c6dcbd94d45 (diff) | |
download | bread-board-declare-eb9a0d361b37c5b3a7d750385f6b3a3300301fbc.tar.gz bread-board-declare-eb9a0d361b37c5b3a7d750385f6b3a3300301fbc.zip |
test all inlining
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MooseX/Bread/Board.pm | 1 | ||||
-rw-r--r-- | lib/MooseX/Bread/Board/Meta/Role/Attribute.pm | 4 | ||||
-rw-r--r-- | lib/MooseX/Bread/Board/Meta/Role/Instance.pm | 9 |
3 files changed, 12 insertions, 2 deletions
diff --git a/lib/MooseX/Bread/Board.pm b/lib/MooseX/Bread/Board.pm index f40797e..fbf536b 100644 --- a/lib/MooseX/Bread/Board.pm +++ b/lib/MooseX/Bread/Board.pm @@ -6,6 +6,7 @@ my (undef, undef, $init_meta) = Moose::Exporter->build_import_methods( class_metaroles => { attribute => ['MooseX::Bread::Board::Meta::Role::Attribute'], class => ['MooseX::Bread::Board::Meta::Role::Class'], + instance => ['MooseX::Bread::Board::Meta::Role::Instance'], }, base_class_roles => ['MooseX::Bread::Board::Role::Object'], ); diff --git a/lib/MooseX/Bread/Board/Meta/Role/Attribute.pm b/lib/MooseX/Bread/Board/Meta/Role/Attribute.pm index 90a10e5..fe98bb7 100644 --- a/lib/MooseX/Bread/Board/Meta/Role/Attribute.pm +++ b/lib/MooseX/Bread/Board/Meta/Role/Attribute.pm @@ -99,9 +99,9 @@ around inline_get => sub { my $self = shift; my ($instance) = @_; - return '((' . $self->inline_has($instance) . ')' . "\n" + return 'do { (' . $self->inline_has($instance) . ')' . "\n" . '? (' . $self->$orig($instance) . ')' . "\n" - . ': (' . $instance . '->get_service(\'' . $self->name . '\')->get))'; + . ': (' . $instance . '->get_service(\'' . $self->name . '\')->get) }'; }; no Moose::Role; diff --git a/lib/MooseX/Bread/Board/Meta/Role/Instance.pm b/lib/MooseX/Bread/Board/Meta/Role/Instance.pm new file mode 100644 index 0000000..93648e2 --- /dev/null +++ b/lib/MooseX/Bread/Board/Meta/Role/Instance.pm @@ -0,0 +1,9 @@ +package MooseX::Bread::Board::Meta::Role::Instance; +use Moose::Role; + +# XXX: ugh, this should be settable at the attr level, fix this in moose +sub inline_get_is_lvalue { 0 } + +no Moose::Role; + +1; |