X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FMetaDescription.pm;h=ebf6837e1e4f6ac9116fe2dbae78227474266285;hb=7c697304c34ed8e620e2c41e3d5cce74c578b653;hp=dc4a2b00b39a2bedfcfed1832c32b7e153cc2bb5;hpb=91297cb4d55bab5d38c404df82637282a5450661;p=gitmo%2FMooseX-MetaDescription.git
diff --git a/lib/MooseX/MetaDescription.pm b/lib/MooseX/MetaDescription.pm
index dc4a2b0..ebf6837 100644
--- a/lib/MooseX/MetaDescription.pm
+++ b/lib/MooseX/MetaDescription.pm
@@ -1,7 +1,7 @@
package MooseX::MetaDescription;
use Moose;
-our $VERSION = '0.01';
+our $VERSION = '0.03';
our $AUTHORITY = 'cpan:STEVAN';
use MooseX::MetaDescription::Meta::Class;
@@ -16,19 +16,59 @@ __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' => (
+ # add class-level metadata
+ description => {
+ 'Hello' => 'World'
+ }
+ );
+ use Moose;
+
+ has 'bar' => (
+ metaclass => 'MooseX::MetaDescription::Meta::Attribute',
+ is => 'ro',
+ isa => 'Str',
+ default => sub { Bar->new() },
+ # add attribute level metadata
+ description => {
+ node_type => 'element',
+ }
+ );
+
+ my $foo = Foo->new;
+
+ $foo->meta->description; # { 'Hello' => 'World' }
+
+ my $bar = $foo->meta->get_attribute('bar');
+
+ # access the desciption HASH directly
+ $bar->description; # { node_type => 'element' }
+
+ # or access the instance of MooseX::MetaDescription::Description
+ $bar->metadescription;
+
+ # access the original attribute metaobject from the metadesc too
+ $bar->metadescription->descriptor == $bar;
=head1 DESCRIPTION
-=head1 METHODS
+MooseX::MetaDescription allows you to add arbitrary out of band
+metadata to your Moose classes and attributes. This will allow
+you to track out of band data along with attributes, which is
+very useful for say serializing Moose classes in HTML or XML.
+
+=head METHODS
=over 4
-=item B<>
+=item B
+
+The Moose metaclass.
=back
@@ -40,6 +80,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