[Catalyst] YA CRUD module
David Schmidt
davewood at gmx.at
Mon Dec 5 11:51:13 GMT 2011
Here is a simple testcase of what I did. Once i noticed that i
required a method defined in the same role it made sense.
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
{
package MyRole;
use Moose::Role;
requires 'a';
has a => (is => 'rw');
}
{
package MyClass;
use Moose;
with 'MyRole';
}
my $foo = MyClass->new({ a => 'foo' });
can_ok ($foo, 'a');
done_testing;
'MyRole' requires the method 'a' to be implemented by 'MyClass' at
/usr/local/lib/perl/5.10.1/Moose/Meta/Role/Application.pm line 53
Moose::Meta::Role::Application::apply('Moose::Meta::Role::Application::ToClass=HASH(0x9dc5a78)',
'Moose::Meta::Role=HASH(0x9dc55e8)',
'Moose::Meta::Class=HASH(0x9ce8170)') called at
/usr/local/lib/perl/5.10.1/Moose/Meta/Role/Application/ToClass.pm line
33
Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::Role::Application::ToClass=HASH(0x9dc5a78)',
'Moose::Meta::Role=HASH(0x9dc55e8)',
'Moose::Meta::Class=HASH(0x9ce8170)', 'HASH(0x9c817c8)') called at
/usr/local/lib/perl/5.10.1/Moose/Meta/Role.pm line 482
Moose::Meta::Role::apply('Moose::Meta::Role=HASH(0x9dc55e8)',
'Moose::Meta::Class=HASH(0x9ce8170)') called at
/usr/local/lib/perl/5.10.1/Moose/Util.pm line 154
Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x9ce8170)',
undef, 'MyRole') called at /usr/local/lib/perl/5.10.1/Moose/Util.pm
line 93
Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x9ce8170)',
'MyRole') called at /usr/local/lib/perl/5.10.1/Moose.pm line 65
Moose::with('Moose::Meta::Class=HASH(0x9ce8170)', 'MyRole')
called at /usr/local/lib/perl/5.10.1/Moose/Exporter.pm line 356
Moose::with('MyRole') called at ./test.pl line 18
On 5 December 2011 11:58, Tomas Doran <bobtfish at bobtfish.net> wrote:
>
> On 4 Dec 2011, at 23:46, David Schmidt wrote:
>
>> just thought i'll keep you up to day so you dont waste time trying to
>> help with a problem i already solved.
>>
>> Turns out the error cause was in one of the roles. It required a
>> method declared in the same role.
>
>
> This has to be a Moose bug in some way.
>
> Moose should be able to complain that you are requiring a method you've
> already provided, and/or it shouldn't fail.
>
> Any chance of a small(ish) test case for this one?
>
>
> Cheers
> t0m
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
More information about the Catalyst
mailing list