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

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.