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 interface_role => (
26 parameter attributes_to_copy => (
27 isa => 'ArrayRef[Str]',
31 parameter attributes_to_assume => (
32 isa => 'ArrayRef[Str]',
39 my $class_name = $p->class_name;
41 Class::MOP::load_class($class_name);
43 my $meta = Class::MOP::class_of($class_name);
45 has [map %{$_->clone}, map $meta->get_attribute($_), @{ $p->attributes_to_copy }];
47 has $p->delegate_name => (
50 does => $p->interface_role,
51 handles => $p->interface_role,
54 method '_build_'.$p->delegate_name => sub {
58 map { $_ => $self->$_ }
59 @{ $p->attributes_to_assume },
60 @{ $p->attributes_to_copy },
67 # vim: ts=2 sw=2 expandtab