package Moose::Meta::Role::Method::Conflicting; use strict; use warnings; use Moose::Util; use base qw(Moose::Meta::Role::Method::Required); our $VERSION = '0.92'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; __PACKAGE__->meta->add_attribute('roles' => ( reader => 'roles', required => 1, )); sub roles_as_english_list { my $self = shift; Moose::Util::english_list( map { q{'} . $_ . q{'} } @{ $self->roles } ); } 1; __END__ =pod =head1 NAME Moose::Meta::Role::Method::Conflicting - A Moose metaclass for conflicting methods in Roles =head1 DESCRIPTION =head1 INHERITANCE C is a subclass of L. =head1 METHODS =over 4 =item B<< Moose::Meta::Role::Method::Conflicting->new(%options) >> This creates a new type constraint based on the provided C<%options>: =over 8 =item * name The method name. This is required. =item * roles The list of role names that generated the conflict. This is required. =back =item B<< $method->name >> Returns the conflicting method's name, as provided to the constructor. =item B<< $method->roles >> Returns the roles that generated this conflicting method, as provided to the constructor. =item B<< $method->roles_as_english_list >> Returns the roles that generated this conflicting method as an English list. =back =head1 BUGS All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT. =head1 AUTHOR Stevan Little Estevan@iinteractive.comE =head1 COPYRIGHT AND LICENSE Copyright 2006-2009 by Infinity Interactive, Inc. L This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut