|
NAMEMooseX::Role::Strict - use strict 'roles'VERSIONVersion 0.05SYNOPSISThis code will fail at composition time:{ package My::Role; use MooseX::Role::Strict; sub conflict {} } { package My::Class; use Moose; with 'My::Role'; sub conflict {} } With an error message similar to the following: The class My::Class has implicitly overridden the method (conflict) from role My::Role ... To resolve this, explictly exclude the 'conflict' method: { package My::Class; use Moose; with 'My::Role' => { -excludes => 'conflict' }; sub conflict {} } DESCRIPTIONWARNING: this is ALPHA code. More features to be added later.When using Moose::Role, a class which provides a method a role provides will silently override that method. This can cause strange, hard-to-debug errors when the role's methods are not called. Simple use "MooseX::Role::Strict" instead of "Moose::Role" and overriding a role's method becomes a composition-time failure. See the synopsis for a resolution. AUTHORCurtis "Ovid" Poe, "<ovid at cpan.org>"BUGSPlease report any bugs or feature requests to "bug-moosex-role-strict at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MooseX-Role-Strict>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.SUPPORTYou can find documentation for this module with the perldoc command.perldoc MooseX::Role::Strict You can also look for information at:
ACKNOWLEDGEMENTSTODOAdd "-includes" to make things easier:with 'Some::Role' => { -includes => 'bar' }; That reverses the sense of '-excludes' in case you're more interested in the interface than the implementation. I'm unsure of the syntax for auto-converting a role to a pure interface. COPYRIGHT & LICENSECopyright 2009 Curtis "Ovid" Poe, all rights reserved.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. |