From: Tomas Doran Date: Tue, 9 Feb 2010 04:16:12 +0000 (+0000) Subject: Trailing hatespace X-Git-Tag: 0.04~6 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMooseX-MetaDescription.git;a=commitdiff_plain;h=6515e19d3b91a45a5f27c1ca73207868a724bd97 Trailing hatespace --- diff --git a/Changes b/Changes index adca67f..f9a2738 100644 --- 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 diff --git a/lib/MooseX/MetaDescription/Meta/Trait.pm b/lib/MooseX/MetaDescription/Meta/Trait.pm index cedb75a..1600d31 100644 --- a/lib/MooseX/MetaDescription/Meta/Trait.pm +++ b/lib/MooseX/MetaDescription/Meta/Trait.pm @@ -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 and L 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 ref is stored here. =item B -This provides the name of the metadescription class, currently this -defaults to L. It is read only +This provides the name of the metadescription class, currently this +defaults to L. It is read only and so can only be specified at instance construction time. =item B This is the instance of the class specified in C -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 and it will all just work. =item B 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 @@ -117,7 +117,7 @@ The L 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. diff --git a/t/002_custom_description.t b/t/002_custom_description.t index dac44b1..ad7fec5 100644 --- a/t/002_custom_description.t +++ b/t/002_custom_description.t @@ -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'); } diff --git a/t/003_inheriting_meta_desc.t b/t/003_inheriting_meta_desc.t index c6af375..dff334b 100644 --- a/t/003_inheriting_meta_desc.t +++ b/t/003_inheriting_meta_desc.t @@ -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 +}