Moose::...mposite(3)

πŸ’– Moose::Meta::Role::Composite πŸ’–

okay so bestie, welcome to the manual page for Moose::Meta::Role::Composite, living its best life in the User Contributed Perl Documentation section of the manual pages. yes, the header up top is all squished and truncated like Moose::...mposite(3) because terminal widths are haters, but the full name is right here and it's iconic. πŸŽ€


✨ NAME ✨

Moose::Meta::Role::Composite β€” an object to represent the set of roles. that's it, that's the whole vibe. πŸ’…


🌸 VERSION 🌨

version 2.4000


πŸ¦‹ DESCRIPTION πŸ¦‹

so a composite is a role that consists of a set of two or more roles. like a little friend group that decided to show up as one unit. πŸ‘‘

and the API of a composite role is almost identical to that of a regular role. almost. not completely. we'll get to the differences, don't worry. πŸ™ˆ


πŸ’œ INHERITANCE πŸ’œ

Moose::Meta::Role::Composite is a subclass of Moose::Meta::Role. so yeah, it inherited the family traits. main character energy runs in the bloodline. 🧬✨


πŸ”₯ METHODS πŸ”₯

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

this returns a new composite role object. slay. it accepts the same options as its parent class, but with a few changes, so pay attention bestie:

  • roles β€” this option is an array reference containing a list of Moose::Meta::Role object. and listen: this is a required option. no roles, no composite, periodt. 🚨
  • name β€” if a name is not given, one is generated from the roles provided. so it'll just make one up for you, no big deal. πŸ’«
  • 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. iykyk. 🫢
  • reinitialize($metaclass) β€” like Class::MOP::Package->reinitialize, but it does not allow passing a string with the package name, because there is no real package for composite roles. it's a role, not a package, don't come for it. πŸ’€

😭 BUGS 😭

see "BUGS" in Moose for the details on reporting bugs. go tell the Moose folks, they'll handle it. πŸ™


🌈 AUTHORS 🌈

these are the legends who made this happen, show some respect:

  • Stevan Little <stevan@cpan.org>
  • Dave Rolsky <autarch@urth.org>
  • Jesse Luehrs <doy@cpan.org>
  • Shawn M Moore <sartak@cpan.org>
  • Χ™Χ•Χ‘Χœ Χ§Χ•Χ’'מן (Yuval Kogman) <nothingmuch@woobling.org>
  • Karen Etheridge <ether@cpan.org>
  • Florian Ragwitz <rafl@debian.org>
  • Hans Dieter Pearcey <hdp@cpan.org>
  • Chris Prather <chris@prather.org>
  • Matt S Trout <mstrout@cpan.org>

this software is copyright (c) 2006 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. so go wild, respectfully. 🌸


and that's the whole page bestie!! πŸŽ€ this was generated by perl version v5.42.0, dated 2025-07-25, and honestly? it ate. go forth and build your composite roles, you absolute icon. πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from