summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-02-21 00:26:12 -0600
committerJesse Luehrs <doy@tozt.net>2011-02-21 00:26:12 -0600
commiteb9a0d361b37c5b3a7d750385f6b3a3300301fbc (patch)
tree7dbfc3fbc168feec1f3d9137a2a5fb767738e5fc /lib
parent53013e0c04d124444c015e657c4c8c6dcbd94d45 (diff)
downloadbread-board-declare-eb9a0d361b37c5b3a7d750385f6b3a3300301fbc.tar.gz
bread-board-declare-eb9a0d361b37c5b3a7d750385f6b3a3300301fbc.zip
test all inlining
Diffstat (limited to 'lib')
-rw-r--r--lib/MooseX/Bread/Board.pm1
-rw-r--r--lib/MooseX/Bread/Board/Meta/Role/Attribute.pm4
-rw-r--r--lib/MooseX/Bread/Board/Meta/Role/Instance.pm9
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;