1 package DBIx::Class::DeploymentHandler::WithApplicatorDumple;
2 use MooseX::Role::Parameterized;
4 use namespace::autoclean;
6 parameter interface_role => (
11 parameter class_name => (
16 parameter delegate_name => (
21 parameter attributes_to_copy => (
22 isa => 'ArrayRef[Str]',
26 parameter attributes_to_assume => (
27 isa => 'ArrayRef[Str]',
34 my $class_name = $p->class_name;
36 Class::MOP::load_class($class_name);
38 my $meta = Class::MOP::class_of($class_name);
40 has $_->name => %{ $_->clone }
41 for grep { $_ } map $meta->get_attribute($_), @{ $p->attributes_to_copy };
43 has $p->delegate_name => (
46 does => $p->interface_role,
47 handles => $p->interface_role,
50 method '_build_'.$p->delegate_name => sub {
54 map { $_ => $self->$_ }
55 @{ $p->attributes_to_assume },
56 @{ $p->attributes_to_copy },
63 # vim: ts=2 sw=2 expandtab