File Coverage

blib/lib/Bot/Backbone/Meta/Class/Service.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Bot::Backbone::Meta::Class::Service;
2             $Bot::Backbone::Meta::Class::Service::VERSION = '0.160630';
3 4     4   16 use Moose;
  4         4  
  4         21  
4              
5             extends 'Moose::Meta::Class';
6             with 'Bot::Backbone::Meta::Class::DispatchBuilder';
7              
8             # ABSTRACT: Metaclass attached to backbone bot services
9              
10              
11             has bot_roles => (
12                 is => 'rw',
13                 isa => 'ArrayRef[ClassName]',
14                 required => 1,
15                 default => sub { [] },
16                 traits => [ 'Array' ],
17                 handles => {
18                     'add_bot_roles' => 'push',
19                     'all_bot_roles' => 'elements',
20                     'has_bot_roles' => 'count',
21                 },
22             );
23              
24             __PACKAGE__->meta->make_immutable;
25              
26             __END__
27            
28             =pod
29            
30             =encoding UTF-8
31            
32             =head1 NAME
33            
34             Bot::Backbone::Meta::Class::Service - Metaclass attached to backbone bot services
35            
36             =head1 VERSION
37            
38             version 0.160630
39            
40             =head1 DESCRIPTION
41            
42             This provides some tools necessary for building a dispatcher. It also lists all the additional roles that should be applied to a bot using this service.
43            
44             =head1 ATTRIBUTES
45            
46             =head2 bot_roles
47            
48             This is a list of packages that will be applied as roles to the bot when this service is configured.
49            
50             =head1 AUTHOR
51            
52             Andrew Sterling Hanenkamp <hanenkamp@cpan.org>
53            
54             =head1 COPYRIGHT AND LICENSE
55            
56             This software is copyright (c) 2016 by Qubling Software LLC.
57            
58             This is free software; you can redistribute it and/or modify it under
59             the same terms as the Perl 5 programming language system itself.
60            
61             =cut
62