summaryrefslogtreecommitdiffstats
path: root/lib/MooseX/Bread/Board/Meta/Role/Class.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MooseX/Bread/Board/Meta/Role/Class.pm')
-rw-r--r--lib/MooseX/Bread/Board/Meta/Role/Class.pm27
1 files changed, 4 insertions, 23 deletions
diff --git a/lib/MooseX/Bread/Board/Meta/Role/Class.pm b/lib/MooseX/Bread/Board/Meta/Role/Class.pm
index e48c9f6..66c18ac 100644
--- a/lib/MooseX/Bread/Board/Meta/Role/Class.pm
+++ b/lib/MooseX/Bread/Board/Meta/Role/Class.pm
@@ -4,31 +4,12 @@ use Moose::Role;
use Bread::Board::Service;
use List::MoreUtils qw(any);
-has services => (
- traits => ['Array'],
- isa => 'ArrayRef[Bread::Board::Service]',
- default => sub { [] },
- handles => {
- add_service => 'push',
- services => 'elements',
- has_services => 'count',
- },
-);
-
-sub has_any_services {
- my $self = shift;
- return any { $_->has_services }
- grep { Moose::Util::does_role($_, __PACKAGE__) }
- map { $_->meta }
- $self->linearized_isa;
-}
-
sub get_all_services {
my $self = shift;
- return map { $_->services }
- grep { Moose::Util::does_role($_, __PACKAGE__) }
- map { $_->meta }
- $self->linearized_isa;
+ return map { $_->associated_service }
+ grep { $_->has_associated_service }
+ grep { Moose::Util::does_role($_, 'MooseX::Bread::Board::Meta::Role::Attribute') }
+ $self->get_all_attributes;
}
before superclasses => sub {