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