1 package MooseX::ClassAttribute::Trait::Application::ToInstance;
8 use namespace::autoclean;
12 shift->apply_class_attributes(@_);
15 sub apply_class_attributes {
20 my $class = Moose::Util::MetaRole::apply_metaclass_roles(
23 class => ['MooseX::ClassAttribute::Trait::Class'],
27 my $attr_metaclass = $class->attribute_metaclass();
29 foreach my $attribute_name ( $role->get_class_attribute_list() ) {
30 if ( $class->has_class_attribute($attribute_name)
31 && $class->get_class_attribute($attribute_name)
32 != $role->get_class_attribute($attribute_name) ) {
36 $class->add_class_attribute(
37 $role->get_class_attribute($attribute_name)
38 ->attribute_for_class($attr_metaclass) );