1 package MooseX::MetaDescription::Meta::Trait;
5 our $AUTHORITY = 'cpan:STEVAN';
11 default => sub { +{} },
14 has 'metadescription_classname' => (
19 'MooseX::MetaDescription::Description'
23 has 'metadescription' => (
25 isa => 'MooseX::MetaDescription::Description',
30 my $metadesc_class = $self->metadescription_classname;
31 my $desc = $self->description;
33 if (my $traits = delete $desc->{traits}) {
34 my $meta = Moose::Meta::Class->create_anon_class(
35 superclasses => [ $metadesc_class ],
38 $meta->add_method('meta' => sub { $meta });
39 $metadesc_class = $meta->name;
42 return $metadesc_class->new(%$desc, descriptor => $self);
54 MooseX::MetaDescription::Meta::Trait - Custom class meta-trait for meta-descriptions
58 Nothing worth saying yet actually, mostly internal usage only. See the
59 SYNPOSIS in L<MooseX::MetaDescription> for an example of usage.
67 =item B<metadescription_classname>
69 =item B<metadescription>
75 All complex software has bugs lurking in it, and this module is no
76 exception. If you find a bug please either email me, or add the bug
81 Stevan Little E<lt>stevan.little@iinteractive.comE<gt>
83 =head1 COPYRIGHT AND LICENSE
85 Copyright 2008 Infinity Interactive, Inc.
87 L<http://www.iinteractive.com>
89 This library is free software; you can redistribute it and/or modify
90 it under the same terms as Perl itself.