Scroll to navigation

MooseX::ClassAttribute::Trait::Role(3pm) User Contributed Perl Documentation MooseX::ClassAttribute::Trait::Role(3pm)

NAME

MooseX::ClassAttribute::Trait::Role - A trait for roles with class attributes

VERSION

version 0.29

SYNOPSIS

  for my $attr ( HasClassAttributes->meta()->get_all_class_attributes() )
  {
      print $attr->name();
  }

DESCRIPTION

This role adds awareness of class attributes to a role metaclass object. It provides a set of introspection methods that largely parallel the existing attribute methods, except they operate on class attributes.

METHODS

Every method provided by this role has an analogous method in "Class::MOP::Class" or "Moose::Meta::Class" for regular attributes.

$meta->has_class_attribute($name)

$meta->get_class_attribute($name)

$meta->get_class_attribute_list()

These methods are exactly like their counterparts in MooseX::ClassAttribute::Trait::Class.

$meta->add_class_attribute(...)

This accepts the same options as the Moose::Meta::Attribute "add_attribute()" method. However, if an attribute is specified as "required" an error will be thrown.

$meta->remove_class_attribute($name)

If the named class attribute exists, it is removed from the role.

BUGS

See MooseX::ClassAttribute for details.

Bugs may be submitted through the RT bug tracker <http://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-ClassAttribute> (or bug-moosex-classattribute@rt.cpan.org <mailto:bug-moosex-classattribute@rt.cpan.org>).

I am also usually active on IRC as 'drolsky' on "irc://irc.perl.org".

AUTHOR

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENCE

This software is Copyright (c) 2016 by Dave Rolsky.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)
2022-10-16 perl v5.34.0