summaryrefslogtreecommitdiffstats
path: root/lib/Bread/Board/Declare/Meta/Role/Attribute.pm
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-10-10 12:29:34 -0500
committerJesse Luehrs <doy@tozt.net>2011-10-10 12:34:10 -0500
commit5e7043884b8f139c2780ecfaf1d9673938a64c0d (patch)
tree9f61411eb13ea847c736770c2b56cabd5e620f2f /lib/Bread/Board/Declare/Meta/Role/Attribute.pm
parent112e56b0bd5e6a6aff3c1d513ad7d0c528e899f7 (diff)
downloadbread-board-declare-5e7043884b8f139c2780ecfaf1d9673938a64c0d.tar.gz
bread-board-declare-5e7043884b8f139c2780ecfaf1d9673938a64c0d.zip
if service => 0 is specified, don't do the attribute trait at all
Diffstat (limited to 'lib/Bread/Board/Declare/Meta/Role/Attribute.pm')
-rw-r--r--lib/Bread/Board/Declare/Meta/Role/Attribute.pm5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Bread/Board/Declare/Meta/Role/Attribute.pm b/lib/Bread/Board/Declare/Meta/Role/Attribute.pm
index 2caeed4..c7d1477 100644
--- a/lib/Bread/Board/Declare/Meta/Role/Attribute.pm
+++ b/lib/Bread/Board/Declare/Meta/Role/Attribute.pm
@@ -15,6 +15,11 @@ around interpolate_class => sub {
return $class->$orig(@_)
if $options->{metaclass};
+ if (exists $options->{service} && !$options->{service}) {
+ delete $options->{service};
+ return $class->$orig(@_);
+ }
+
my ($new_class, @traits) = $class->$orig(@_);
return wantarray ? ($new_class, @traits) : $new_class