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