Add conflicted method metaclass
Shawn M Moore [Sat, 30 May 2009 22:27:44 +0000 (18:27 -0400)]
lib/Moose/Meta/Role.pm
lib/Moose/Meta/Role/Method/Conflicted.pm [new file with mode: 0644]

index abd6280..9ea98bd 100644 (file)
@@ -17,6 +17,7 @@ our $AUTHORITY = 'cpan:STEVAN';
 use Moose::Meta::Class;
 use Moose::Meta::Role::Method;
 use Moose::Meta::Role::Method::Required;
+use Moose::Meta::Role::Method::Conflicted;
 
 use base 'Class::MOP::Module';
 
@@ -135,6 +136,12 @@ $META->add_attribute(
     default => 'Moose::Meta::Role::Method::Required',
 );
 
+$META->add_attribute(
+    'conflicted_method_metaclass',
+    reader  => 'conflicted_method_metaclass',
+    default => 'Moose::Meta::Role::Method::Conflicted',
+);
+
 ## some things don't always fit, so they go here ...
 
 sub add_attribute {
diff --git a/lib/Moose/Meta/Role/Method/Conflicted.pm b/lib/Moose/Meta/Role/Method/Conflicted.pm
new file mode 100644 (file)
index 0000000..e96fe6e
--- /dev/null
@@ -0,0 +1,51 @@
+
+package Moose::Meta::Role::Method::Conflicted;
+
+use strict;
+use warnings;
+
+use base qw(Moose::Meta::Role::Method::Required);
+
+our $VERSION   = '0.79';
+$VERSION = eval $VERSION;
+our $AUTHORITY = 'cpan:STEVAN';
+
+__PACKAGE__->meta->add_attribute('roles' => (reader => 'roles'));
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+Moose::Meta::Role::Method::Conflicted - A Moose metaclass for conflicted methods in Roles
+
+=head1 DESCRIPTION
+
+=head1 INHERITANCE
+
+C<Moose::Meta::Role::Method::Conflicted> is a subclass of
+L<Moose::Meta::Role::Method::Required>.
+
+=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 E<lt>stevan@iinteractive.comE<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2006-2009 by Infinity Interactive, Inc.
+
+L<http://www.iinteractive.com>
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut