Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Perl::Critic::Policy::UsereContributed:PerlcDocumenta:ProhibitMultipleWiths(3)

NAME
       Perl::Critic::Policy::Moose::ProhibitMultipleWiths - Require role
       composition

VERSION
       version 1.05

DESCRIPTION
       Moose::Roles are, among other things, the answer	to name	conflicts
       plaguing	multiple inheritance and mix-ins. However, to enjoy this
       protection, you must compose your roles together. Roles do not generate
       conflicts if they are consumed individually.

       Pass all	of your	roles to a single with statement.

	   # ok
	   package Foo;

	   use Moose::Role;

	   with	qw< Bar	Baz >;

	   # not ok
	   package Foo;

	   use Moose::Role;

	   with	'Bar';
	   with	'Baz';

AFFILIATION
       This policy is part of Perl::Critic::Moose.

CONFIGURATION
       There is	a single option, "equivalent_modules". This allows you to
       specify modules that should be treated the same as Moose	and
       Moose::Role, if,	say, you were doing something with Moose::Exporter.
       For example, if you were	to have	this in	your .perlcriticrc file:

	   [Moose::ProhibitMultipleWiths]
	   equivalent_modules =	MyCompany::Moose MooseX::NewThing

       then the	following code would result in a violation:

	   package Baz;

	   use MyCompany::Moose;

	   with	'Bing';
	   with	'Bong';

SUPPORT
       Bugs may	be submitted through the RT bug	tracker
       <http://rt.cpan.org/Public/Dist/Display.html?Name=Perl-Critic-Moose>
       (or bug-perl-critic-moose@rt.cpan.org <mailto:bug-perl-critic-
       moose@rt.cpan.org>).

       I am also usually active	on IRC as 'drolsky' on "irc://irc.perl.org".

AUTHORS
       o   Elliot Shank	<perl@galumph.com>

       o   Dave	Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2008 - 2016 by Elliot Shank.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.24.1		 Perl::Critic::Policy::Moose::ProhibitMultipleWiths(3)

NAME | VERSION | DESCRIPTION | AFFILIATION | CONFIGURATION | SUPPORT | AUTHORS | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Perl::Critic::Policy::Moose::ProhibitMultipleWiths&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help