X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FMetaDescription.pm;h=eb744547428850a52118d9e28dfebc1009ee41ee;hb=0cb2eb0f8842c7047e7e47a67d1b11f13195c5ab;hp=5e35667bab60e661ff98ae1e69c37921a6d26746;hpb=5d49532aa0f4f290996623ace58f397055604f11;p=gitmo%2FMooseX-MetaDescription.git diff --git a/lib/MooseX/MetaDescription.pm b/lib/MooseX/MetaDescription.pm index 5e35667..eb74454 100644 --- a/lib/MooseX/MetaDescription.pm +++ b/lib/MooseX/MetaDescription.pm @@ -1,13 +1,13 @@ package MooseX::MetaDescription; use Moose; +our $VERSION = '0.01'; +our $AUTHORITY = 'cpan:STEVAN'; + use MooseX::MetaDescription::Meta::Class; use MooseX::MetaDescription::Meta::Attribute; use MooseX::MetaDescription::Description; -our $VERSION = '0.01'; -our $AUTHORITY = 'cpan:STEVAN'; - no Moose; 1; __END__ @@ -16,14 +16,35 @@ __END__ =head1 NAME -MooseX::MetaDescription - A Moosey solution to this problem +MooseX::MetaDescription - A framework for adding additional metadata to Moose classes =head1 SYNOPSIS - use MooseX::MetaDescription; + package Foo; + use metaclass 'MooseX::MetaDescription::Meta::Class'; + use Moose; + + __PACKAGE__->meta->description->{'Hello'} = 'World'; + + has 'bar' => ( + metaclass => 'MooseX::MetaDescription::Meta::Attribute', + is => 'ro', + isa => 'Str', + default => sub { 'Foo::bar' }, + description => { + baz => 'Foo::bar::baz', + } + ); + + ... + + $foo->meta->description; # { 'Hello' => 'World' } + $foo->meta->get_attribute('bar')->description; # { baz => 'Foo::bar::baz' } =head1 DESCRIPTION +MooseX::MetaDescription allows you to add arbitrary out of band metadata to your Moose classes and attributes. + =head1 METHODS =over 4 @@ -40,6 +61,9 @@ to cpan-RT. =head1 AUTHOR +Code and Design originally by Jonathan Rockway in the Ernst module, +extracted and refactored by: + Stevan Little Estevan.little@iinteractive.comE =head1 COPYRIGHT AND LICENSE