MooseX::RelatedClassRoles - Apply roles to a class related to yours
package My::Class;
use Moose;
has driver_class => (
isa => 'MyApp::Driver',
);
with 'MooseX::RelatedClassRoles' => { name => 'driver' };
# ...
my $obj = My::Class->new(driver_class => "Some::Driver");
$obj->apply_driver_class_roles("Other::Driver::Role");
Frequently, you have to use a class that provides some
"foo_class" accessor or attribute as a
method of dependency injection. Use this role when you'd rather apply roles to
make your custom "foo_class" instead of
manually setting up a subclass.
A string naming the related class. "driver" in
the "SYNOPSIS". Required.
A string naming the related class accessor.
"driver_class" in the "SYNOPSIS".
Defaults to appending "_class" to the
"name".
A string naming the role applying method.
"apply_driver_class_names" in the
"SYNOPSIS". Defaults to adding
"apply_" and
"_names" to the
"class_accessor_name".
Hans Dieter Pearcey <hdp@cpan.org>
This software is copyright (c) 2009 by Hans Dieter Pearcey <hdp@cpan.org>.
This is free software; you can redistribute it and/or modify it
under the same terms as perl itself.