NAME
MooX::Role::Parameterized:With - dsl to apply roles with composition parameters
SYNOPSIS
package Tag;
use Moo::Role;
use MooX::Role::Parameterized;
parameter name => ( is => 'ro', required => 1 );
role {
my ( $params, $mop ) = @_;
$mop->has( $params->name => ( is => 'rw' ) );
};
package Article;
use Moo;
use MooX::Role::Parameterized::With; # overrides Moo::with
with Tag => [ # apply the parameterized role twice,
{ name => 'author' }, # once per parameter set,
{ name => 'editor' },
],
Tag => { name => 'status' }; # then once more on its own
has title => ( is => 'ro' ); # continue with normal Moo code
DESCRIPTION
This package tries to offer an easy way to add parameterized roles.
Will load and apply MooX::Roles::Parameterized roles, just need use this package with a hash of role => parameters.
AUTHOR
Tiago Peczenyj <tiago (dot) peczenyj (at) gmail (dot) com>
BUGS
Please report any bugs or feature requests on the bugtracker website