1 package MooseX::ClassAttribute::Trait::Application::ToClass;
6 use namespace::autoclean;
9 with 'MooseX::ClassAttribute::Trait::Application';
17 $class = Moose::Util::MetaRole::apply_metaroles(
20 class => ['MooseX::ClassAttribute::Trait::Class'],
24 $self->$orig( $role, $class );
27 sub _apply_class_attributes {
32 my $attr_metaclass = $class->attribute_metaclass();
34 foreach my $attribute_name ( $role->get_class_attribute_list() ) {
35 if ( $class->has_class_attribute($attribute_name)
36 && $class->get_class_attribute($attribute_name)
37 != $role->get_class_attribute($attribute_name) ) {
41 $class->add_class_attribute(
42 $role->get_class_attribute($attribute_name)
43 ->attribute_for_class($attr_metaclass) );
50 # ABSTRACT: A trait that supports applying class attributes to classes
58 This trait is used to allow the application of roles containing class
59 attributes to classes.
63 See L<MooseX::ClassAttribute> for details.