82144d828221114854f38e3b67e8a1054a2166c8
[gitmo/MooseX-ClassAttribute.git] / lib / MooseX / ClassAttribute / Role / Meta / Mixin / HasClassAttributes.pm
1 package MooseX::ClassAttribute::Role::Meta::Mixin::HasClassAttributes;
2
3 use strict;
4 use warnings;
5
6 use namespace::autoclean;
7 use Moose::Role;
8
9 has _class_attribute_map => (
10     traits  => ['Hash'],
11     is      => 'ro',
12     isa     => 'HashRef[Moose::Meta::Attribute]',
13     handles => {
14         '_add_class_attribute'     => 'set',
15         'has_class_attribute'      => 'exists',
16         'get_class_attribute'      => 'get',
17         '_remove_class_attribute'  => 'delete',
18         'get_class_attribute_list' => 'keys',
19     },
20     default  => sub { {} },
21     init_arg => undef,
22 );
23
24 sub get_class_attribute_map {
25     return $_[0]->_class_attribute_map();
26 }
27
28 1;