NAME
MooseX::RelatedClassRoles - Apply roles to a class related to yours
VERSION
version 0.004
SYNOPSIS
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");
DESCRIPTION
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.
PARAMETERS
name
A string naming the related class. driver
in the "SYNOPSIS". Required.
class_accessor_name
A string naming the related class accessor. driver_class
in the "SYNOPSIS". Defaults to appending _class
to the name
.
apply_method_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
.
BLAME
Florian Ragwitz (rafl)
AUTHOR
Hans Dieter Pearcey <hdp@cpan.org>
COPYRIGHT AND LICENSE
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.