The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

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

VERSION

version 2.0400

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

Moose is maintained by the Moose Cabal, along with the help of many contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for details.

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.