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.142820';
3 1     1   4 use Moose;
  1         1  
  1         6  
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.142820
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) 2014 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