adding the MooseX::MetaDescription stuff distilled from Ernst
[gitmo/MooseX-MetaDescription.git] / lib / MooseX / MetaDescription / Meta / Attribute / Trait.pm
1 package MooseX::MetaDescription::Meta::Attribute::Trait;
2 use Moose::Role;
3
4 use MooseX::MetaDescription::Description::Attribute;
5
6 our $VERSION   = '0.01';
7 our $AUTHORITY = 'cpan:STEVAN';
8
9 has 'description' => (
10     is      => 'ro',
11     isa     => 'HashRef',
12     lazy    => 1,   
13     default => sub { +{} },
14 );
15
16 has 'metadescription' => (
17     is      => 'ro',
18     isa     => 'MooseX::MetaDescription::Description',
19     lazy    => 1,   
20     default => sub {
21         my $self = shift;
22         
23         # TODO: handle traits ...
24         
25         MooseX::MetaDescription::Description::Attribute->new(
26             %{$self->description},
27             attribute => $self,
28         )
29     },
30 );
31
32 no Moose::Role; 1;
33
34 __END__
35
36 =pod
37
38 =head1 NAME
39
40 MooseX::MetaDescription::Meta::Attribute::Trait - A Moosey solution to this problem
41
42 =head1 SYNOPSIS
43
44   use MooseX::MetaDescription::Meta::Attribute::Trait;
45
46 =head1 DESCRIPTION
47
48 =head1 METHODS 
49
50 =over 4
51
52 =item B<>
53
54 =back
55
56 =head1 BUGS
57
58 All complex software has bugs lurking in it, and this module is no 
59 exception. If you find a bug please either email me, or add the bug
60 to cpan-RT.
61
62 =head1 AUTHOR
63
64 Stevan Little E<lt>stevan.little@iinteractive.comE<gt>
65
66 =head1 COPYRIGHT AND LICENSE
67
68 Copyright 2008 Infinity Interactive, Inc.
69
70 L<http://www.iinteractive.com>
71
72 This library is free software; you can redistribute it and/or modify
73 it under the same terms as Perl itself.
74
75 =cut