NAME

Moose::Meta::Role::Composite - An object to represent the set of roles

VERSION

version 2.0007

DESCRIPTION

A composite is a role that consists of a set of two or more roles.

The API of a composite role is almost identical to that of a regular role.

INHERITANCE

Moose::Meta::Role::Composite is a subclass of Moose::Meta::Role.

METHODS

Moose::Meta::Role::Composite->new(%options)

This returns a new composite role object. It accepts the same options as its parent class, with a few changes:

  • roles

    This option is an array reference containing a list of Moose::Meta::Role object. This is a required option.

  • name

    If a name is not given, one is generated from the roles provided.

  • apply_params(\%role_params)

    Creates a new RoleSummation role application with %role_params and applies the composite role to it. The RoleSummation role application class used is determined by the composite role's application_role_summation_class attribute.

  • reinitialize($metaclass)

    Like Class::MOP::Package->reinitialize, but doesn't allow passing a string with the package name, as there is no real package for composite roles.

BUGS

See "BUGS" in Moose for details on reporting bugs.

AUTHOR

Stevan Little <stevan@iinteractive.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Infinity Interactive, Inc..

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