Version 0.95.
[gitmo/Moose.git] / lib / Moose / Meta / Role / Method / Conflicting.pm
1
2 package Moose::Meta::Role::Method::Conflicting;
3
4 use strict;
5 use warnings;
6
7 use Moose::Util;
8
9 use base qw(Moose::Meta::Role::Method::Required);
10
11 our $VERSION   = '0.95';
12 $VERSION = eval $VERSION;
13 our $AUTHORITY = 'cpan:STEVAN';
14
15 __PACKAGE__->meta->add_attribute('roles' => (
16     reader   => 'roles',
17     required => 1,
18 ));
19
20 sub roles_as_english_list {
21     my $self = shift;
22     Moose::Util::english_list( map { q{'} . $_ . q{'} } @{ $self->roles } );
23 }
24
25 1;
26
27 __END__
28
29 =pod
30
31 =head1 NAME
32
33 Moose::Meta::Role::Method::Conflicting - A Moose metaclass for conflicting methods in Roles
34
35 =head1 DESCRIPTION
36
37 =head1 INHERITANCE
38
39 C<Moose::Meta::Role::Method::Conflicting> is a subclass of
40 L<Moose::Meta::Role::Method::Required>.
41
42 =head1 METHODS
43
44 =over 4
45
46 =item B<< Moose::Meta::Role::Method::Conflicting->new(%options) >>
47
48 This creates a new type constraint based on the provided C<%options>:
49
50 =over 8
51
52 =item * name
53
54 The method name. This is required.
55
56 =item * roles
57
58 The list of role names that generated the conflict. This is required.
59
60 =back
61
62 =item B<< $method->name >>
63
64 Returns the conflicting method's name, as provided to the constructor.
65
66 =item B<< $method->roles >>
67
68 Returns the roles that generated this conflicting method, as provided to the
69 constructor.
70
71 =item B<< $method->roles_as_english_list >>
72
73 Returns the roles that generated this conflicting method as an English list.
74
75 =back
76
77 =head1 BUGS
78
79 See L<Moose/BUGS> for details on reporting bugs.
80
81 =head1 AUTHOR
82
83 Stevan Little E<lt>stevan@iinteractive.comE<gt>
84
85 =head1 COPYRIGHT AND LICENSE
86
87 Copyright 2006-2010 by Infinity Interactive, Inc.
88
89 L<http://www.iinteractive.com>
90
91 This library is free software; you can redistribute it and/or modify
92 it under the same terms as Perl itself.
93
94 =cut