Skip to content

Commit

Permalink
support subclasses of classes that use MX::Traits
Browse files Browse the repository at this point in the history
  • Loading branch information
jrockway committed May 28, 2009
1 parent 20cb477 commit 1c3b14b
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/MooseX/Traits.pm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ has '_trait_namespace' => (

my $transform_trait = sub {
my ($class, $name) = @_;
my $namespace = $class->meta->get_attribute('_trait_namespace');
my $namespace = $class->meta->find_attribute_by_name('_trait_namespace');
my $base;
if($namespace->has_default){
$base = $namespace->default;
Expand Down
26 changes: 26 additions & 0 deletions t/subclass.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
use strict;
use warnings;
use Test::More tests => 3;
use Test::Exception;

{ package Foo;
use Moose;
with 'MooseX::Traits';

package Bar;
use Moose;
extends 'Foo';

package Trait;
use Moose::Role;

sub foo { return 42 };
}

my $instance;
lives_ok {
$instance = Bar->new_with_traits( traits => ['Trait'] );
} 'creating instance works ok';

ok $instance->does('Trait'), 'instance does trait';
is $instance->foo, 42, 'trait works';

0 comments on commit 1c3b14b

Please sign in to comment.