From 3ccbed1506d350a63abe81657ace5e11c7da5ee4 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 10 Oct 2011 12:37:30 -0500 Subject: actually, keep this as an attribute on the metaclass --- lib/Bread/Board/Declare/Meta/Role/Attribute.pm | 14 +++++++++++++- lib/Bread/Board/Declare/Meta/Role/Attribute/Service.pm | 8 +------- 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'lib/Bread/Board/Declare') diff --git a/lib/Bread/Board/Declare/Meta/Role/Attribute.pm b/lib/Bread/Board/Declare/Meta/Role/Attribute.pm index c7d1477..d356e3a 100644 --- a/lib/Bread/Board/Declare/Meta/Role/Attribute.pm +++ b/lib/Bread/Board/Declare/Meta/Role/Attribute.pm @@ -1,9 +1,22 @@ package Bread::Board::Declare::Meta::Role::Attribute; use Moose::Role; +# ABSTRACT: base attribute metarole for Bread::Board::Declare use List::MoreUtils 'any'; use Moose::Util 'does_role', 'find_meta'; +=attr service + +Whether or not to create a service for this attribute. Defaults to true. + +=cut + +has service => ( + is => 'ro', + isa => 'Bool', + default => 1, +); + # this is kinda gross, but it's the only way to hook in at the right place # at the moment, it seems around interpolate_class => sub { @@ -16,7 +29,6 @@ around interpolate_class => sub { if $options->{metaclass}; if (exists $options->{service} && !$options->{service}) { - delete $options->{service}; return $class->$orig(@_); } diff --git a/lib/Bread/Board/Declare/Meta/Role/Attribute/Service.pm b/lib/Bread/Board/Declare/Meta/Role/Attribute/Service.pm index 795ae53..6a8ee9b 100644 --- a/lib/Bread/Board/Declare/Meta/Role/Attribute/Service.pm +++ b/lib/Bread/Board/Declare/Meta/Role/Attribute/Service.pm @@ -1,7 +1,7 @@ package Bread::Board::Declare::Meta::Role::Attribute::Service; use Moose::Role; Moose::Util::meta_attribute_alias('Service'); -# ABSTRACT: attribute metarole for Bread::Board::Declare +# ABSTRACT: attribute metarole for service attributes in Bread::Board::Declare use Bread::Board::Types; use List::MoreUtils qw(any); @@ -17,12 +17,6 @@ L objects. =cut -=attr service - -Whether or not to create a service for this attribute. Defaults to true. - -=cut - =attr block The block to use when creating a L service. -- cgit v1.2.3-54-g00ecf