Trailing hatespace
Tomas Doran [Tue, 9 Feb 2010 04:16:12 +0000 (04:16 +0000)]
Changes
lib/MooseX/MetaDescription/Meta/Trait.pm
t/002_custom_description.t
t/003_inheriting_meta_desc.t

diff --git a/Changes b/Changes
index adca67f..f9a2738 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,6 +1,6 @@
 Revision history for Perl extension MooseX::MetaDescription
 
-0.03 
+0.03
     * MooseX::MetaDescription::Meta::Trait
       - added the prepare_traits_for_application method
         to make modifying and pre-processing trait names
@@ -13,13 +13,13 @@ Revision history for Perl extension MooseX::MetaDescription
     * MooseX::MetaDescription::Meta::Trait
       - making metadescription attribute default
         also load the metadescription class
-    
+
     * MooseX::MetaDescription::Meta::Class
-      - descriptions will now "inherit" by 
-        default, unless you specify the 
+      - descriptions will now "inherit" by
+        default, unless you specify the
         description explicitly
         - added test for this
 
 0.01 Friday, May 2, 2008
-    - extracted from Ernst project into it's 
-      own package, cause it is useful 
\ No newline at end of file
+    - extracted from Ernst project into it's
+      own package, cause it is useful
index cedb75a..1600d31 100644 (file)
@@ -7,14 +7,14 @@ our $AUTHORITY = 'cpan:STEVAN';
 has 'description' => (
     is      => 'ro',
     isa     => 'HashRef',
-    lazy    => 1,   
+    lazy    => 1,
     default => sub { +{} },
 );
 
 has 'metadescription_classname' => (
     is      => 'rw',
-    isa     => 'Str', 
-    lazy    => 1,  
+    isa     => 'Str',
+    lazy    => 1,
     default => sub {
         'MooseX::MetaDescription::Description'
     }
@@ -23,15 +23,15 @@ has 'metadescription_classname' => (
 has 'metadescription' => (
     is      => 'ro',
     isa     => 'MooseX::MetaDescription::Description',
-    lazy    => 1,   
+    lazy    => 1,
     default => sub {
         my $self = shift;
-        
+
         my $metadesc_class = $self->metadescription_classname;
         my $desc           = $self->description;
-        
+
         Class::MOP::load_class($metadesc_class);
-        
+
         if (my $traits = delete $desc->{traits}) {
             my $meta = Moose::Meta::Class->create_anon_class(
                 superclasses => [ $metadesc_class ],
@@ -40,7 +40,7 @@ has 'metadescription' => (
             $meta->add_method('meta' => sub { $meta });
             $metadesc_class = $meta->name;
         }
-        
+
         return $metadesc_class->new(%$desc, descriptor => $self);
     },
 );
@@ -62,12 +62,12 @@ MooseX::MetaDescription::Meta::Trait - Custom class meta-trait for meta-descript
 
   package Foo;
   use Moose;
-  
+
   has 'baz' => (
       # apply this as a trait to your attribute
       traits      => [ 'MooseX::MetaDescription::Meta::Trait' ],
       is          => 'ro',
-      isa         => 'Str',   
+      isa         => 'Str',
       default     => sub { 'Foo::baz' },
       description => {
           bar   => 'Foo::baz::bar',
@@ -81,7 +81,7 @@ This is the core of the Meta Description functionality, it is a role that is don
 by both L<MooseX::MetaDescription::Meta::Attribute> and L<MooseX::MetaDescription::Meta::Class>
 and can be used on it's own as a meta-attribute trait.
 
-=head1 METHODS 
+=head1 METHODS
 
 =over 4
 
@@ -91,22 +91,22 @@ The description C<HASH> ref is stored here.
 
 =item B<metadescription_classname>
 
-This provides the name of the metadescription class, currently this 
-defaults to L<MooseX::MetaDescription::Description>. It is read only 
+This provides the name of the metadescription class, currently this
+defaults to L<MooseX::MetaDescription::Description>. It is read only
 and so can only be specified at instance construction time.
 
 =item B<metadescription>
 
 This is the instance of the class specified in C<metadescription_classname>
-it is generated lazily and is also read-only. In general you will never 
+it is generated lazily and is also read-only. In general you will never
 need to set this yourself, but simply set C<metadescription_classname>
 and it will all just work.
 
 =item B<prepare_traits_for_application ($traits)>
 
 This is passed the ARRAY ref of trait names so that they can be pre-processed
-before they are applied to the metadescription. It is expected to return 
-an ARRAY ref of trait names to be applied. By default it simply returns what 
+before they are applied to the metadescription. It is expected to return
+an ARRAY ref of trait names to be applied. By default it simply returns what
 it is given.
 
 =item B<meta>
@@ -117,7 +117,7 @@ The L<Moose::Role> metaclass.
 
 =head1 BUGS
 
-All complex software has bugs lurking in it, and this module is no 
+All complex software has bugs lurking in it, and this module is no
 exception. If you find a bug please either email me, or add the bug
 to cpan-RT.
 
index dac44b1..ad7fec5 100644 (file)
@@ -13,13 +13,13 @@ BEGIN {
 {
     package Foo::Description;
     use Moose;
-    
+
     extends 'MooseX::MetaDescription::Description';
-    
+
     has 'bar'   => (is => 'ro', isa => 'Str');
-    has 'baz'   => (is => 'ro', isa => 'Str');    
-    has 'gorch' => (is => 'ro', isa => 'Str');        
-    
+    has 'baz'   => (is => 'ro', isa => 'Str');
+    has 'gorch' => (is => 'ro', isa => 'Str');
+
     package Foo::MetaDescription::Trait;
     use Moose::Role;
 
@@ -28,43 +28,43 @@ BEGIN {
     has '+metadescription_classname' => (
        default => 'Foo::Description'
     );
-    
+
     package Foo::MetaDescription::Attribute;
     use Moose;
-    
+
     extends 'MooseX::MetaDescription::Meta::Attribute';
        with 'Foo::MetaDescription::Trait';
-       
+
     has '+metadescription_classname' => (
        default => 'Foo::Description'
-    );       
+    );
 }
 
 {
     package Foo;
     use Moose;
-    
+
     has 'bar' => (
         metaclass   => 'Foo::MetaDescription::Attribute',
         is          => 'ro',
-        isa         => 'Str',   
+        isa         => 'Str',
         default     => sub { 'Foo::bar' },
         description => {
             baz   => 'Foo::bar::baz',
             gorch => 'Foo::bar::gorch',
         }
     );
-    
+
     has 'baz' => (
         traits      => [ 'Foo::MetaDescription::Trait' ],
         is          => 'ro',
-        isa         => 'Str',   
+        isa         => 'Str',
         default     => sub { 'Foo::baz' },
         description => {
             bar   => 'Foo::baz::bar',
             gorch => 'Foo::baz::gorch',
         }
-    );    
+    );
 }
 
 # check the meta-desc
@@ -91,10 +91,10 @@ foreach my $foo ('Foo', Foo->new) {
         },
         '... got the right class description'
     );
-    
+
     my $bar_meta_desc = $foo->meta->get_attribute('bar')->metadescription;
     is($bar_meta_desc->baz,   'Foo::bar::baz',   '... we have methods');
-    is($bar_meta_desc->gorch, 'Foo::bar::gorch', '... we have methods');    
+    is($bar_meta_desc->gorch, 'Foo::bar::gorch', '... we have methods');
 
     is_deeply(
         $foo->meta->get_attribute('baz')->description,
@@ -104,9 +104,9 @@ foreach my $foo ('Foo', Foo->new) {
         },
         '... got the right class description'
     );
-    
+
     my $baz_meta_desc = $foo->meta->get_attribute('baz')->metadescription;
     is($baz_meta_desc->bar,   'Foo::baz::bar',   '... we have methods');
-    is($baz_meta_desc->gorch, 'Foo::baz::gorch', '... we have methods');    
+    is($baz_meta_desc->gorch, 'Foo::baz::gorch', '... we have methods');
 }
 
index c6af375..dff334b 100644 (file)
@@ -12,33 +12,33 @@ BEGIN {
 
 {
     package Foo;
-    use Moose;  
-    
+    use Moose;
+
     has 'bar' => (
         metaclass   => 'MooseX::MetaDescription::Meta::Attribute',
         is          => 'ro',
-        isa         => 'Str',   
+        isa         => 'Str',
         default     => sub { 'Foo::bar' },
         description => {
             baz   => 'Foo::bar::baz',
             gorch => 'Foo::bar::gorch',
         }
-    );    
-    
+    );
+
     has 'baz' => (
         traits      => [ 'MooseX::MetaDescription::Meta::Trait' ],
         is          => 'ro',
-        isa         => 'Str',   
+        isa         => 'Str',
         default     => sub { 'Foo::baz' },
         description => {
             bar   => 'Foo::baz::bar',
             gorch => 'Foo::baz::gorch',
         }
-    );    
-    
+    );
+
     package Bar;
     use Moose;
-    
+
     extends 'Foo';
 }
 
@@ -53,19 +53,19 @@ isa_ok($baz_attr->metadescription, 'MooseX::MetaDescription::Description');
 is($baz_attr->metadescription->descriptor, $baz_attr, '... got the circular ref');
 
 {
-    
+
     my $bar_attr = Bar->meta->find_attribute_by_name('bar');
-    
-    can_ok($bar_attr, 'description');    
+
+    can_ok($bar_attr, 'description');
     isa_ok($bar_attr->metadescription, 'MooseX::MetaDescription::Description');
     is($bar_attr->metadescription->descriptor, $bar_attr, '... got the circular ref');
-    
+
     my $baz_attr = Bar->meta->find_attribute_by_name('baz');
-    
-    can_ok($baz_attr, 'description');    
+
+    can_ok($baz_attr, 'description');
     isa_ok($baz_attr->metadescription, 'MooseX::MetaDescription::Description');
     is($baz_attr->metadescription->descriptor, $baz_attr, '... got the circular ref');
-    
+
     my ($bar_attr_2, $baz_attr_2) = Bar->meta->compute_all_applicable_attributes;
     is($bar_attr, $bar_attr_2, '... got the same attribute');
     is($baz_attr, $baz_attr_2, '... got the same attribute');
@@ -92,4 +92,4 @@ foreach my $foo ('Foo', Foo->new, 'Bar', Bar->new) {
         },
         '... got the right class description'
     );
-}
\ No newline at end of file
+}