Moose::Meta::Role::Composite(3p)

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

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
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.

AUTHOR
Stevan Little <stevan@iinteractive.com>

COPYRIGHT AND LICENSE
Copyright 2006-2009 by Infinity Interactive, Inc.

<http://www.iinteractive.com>

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