File Coverage

blib/lib/Moose/Meta/Role/Method/Conflicting.pm
Criterion Covered Total %
statement 16 16 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 22 22 100.0


line stmt bran cond sub pod time code
1             package Moose::Meta::Role::Method::Conflicting;
2             our $VERSION = '2.2203';
3              
4 389     389   2654 use strict;
  389         842  
  389         10640  
5 389     389   1932 use warnings;
  389         782  
  389         8405  
6              
7 389     389   1824 use Moose::Util;
  389         841  
  389         2466  
8              
9 389     389   78796 use parent 'Moose::Meta::Role::Method::Required';
  389         850  
  389         1940  
10              
11             __PACKAGE__->meta->add_attribute('roles' => (
12             reader => 'roles',
13             required => 1,
14             Class::MOP::_definition_context(),
15             ));
16              
17             sub roles_as_english_list {
18 36     36 1 71 my $self = shift;
19 36         54 Moose::Util::english_list( map { q{'} . $_ . q{'} } @{ $self->roles } );
  72         258  
  36         1121  
20             }
21              
22             1;
23              
24             # ABSTRACT: A Moose metaclass for conflicting methods in Roles
25              
26             __END__
27              
28             =pod
29              
30             =encoding UTF-8
31              
32             =head1 NAME
33              
34             Moose::Meta::Role::Method::Conflicting - A Moose metaclass for conflicting methods in Roles
35              
36             =head1 VERSION
37              
38             version 2.2203
39              
40             =head1 DESCRIPTION
41              
42             =head1 INHERITANCE
43              
44             C<Moose::Meta::Role::Method::Conflicting> is a subclass of
45             L<Moose::Meta::Role::Method::Required>.
46              
47             =head1 METHODS
48              
49             =head2 Moose::Meta::Role::Method::Conflicting->new(%options)
50              
51             This creates a new type constraint based on the provided C<%options>:
52              
53             =over 4
54              
55             =item * name
56              
57             The method name. This is required.
58              
59             =item * roles
60              
61             The list of role names that generated the conflict. This is required.
62              
63             =back
64              
65             =head2 $method->name
66              
67             Returns the conflicting method's name, as provided to the constructor.
68              
69             =head2 $method->roles
70              
71             Returns the roles that generated this conflicting method, as provided to the
72             constructor.
73              
74             =head2 $method->roles_as_english_list
75              
76             Returns the roles that generated this conflicting method as an English list.
77              
78             =head1 BUGS
79              
80             See L<Moose/BUGS> for details on reporting bugs.
81              
82             =head1 AUTHORS
83              
84             =over 4
85              
86             =item *
87              
88             Stevan Little <stevan@cpan.org>
89              
90             =item *
91              
92             Dave Rolsky <autarch@urth.org>
93              
94             =item *
95              
96             Jesse Luehrs <doy@cpan.org>
97              
98             =item *
99              
100             Shawn M Moore <sartak@cpan.org>
101              
102             =item *
103              
104             יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
105              
106             =item *
107              
108             Karen Etheridge <ether@cpan.org>
109              
110             =item *
111              
112             Florian Ragwitz <rafl@debian.org>
113              
114             =item *
115              
116             Hans Dieter Pearcey <hdp@cpan.org>
117              
118             =item *
119              
120             Chris Prather <chris@prather.org>
121              
122             =item *
123              
124             Matt S Trout <mstrout@cpan.org>
125              
126             =back
127              
128             =head1 COPYRIGHT AND LICENSE
129              
130             This software is copyright (c) 2006 by Infinity Interactive, Inc.
131              
132             This is free software; you can redistribute it and/or modify it under
133             the same terms as the Perl 5 programming language system itself.
134              
135             =cut