1 package Reaction::Role::Parameterized;
3 use MooseX::Role::Parameterized ();
4 use Reaction::ClassExporter;
6 use Moose::Meta::Class;
8 use namespace::clean -except => [ qw(meta) ];
10 override exports_for_package => sub {
11 my ($self, $package) = @_;
12 my %exports = $self->SUPER::exports_for_package($package);
13 delete $exports{class};
17 override default_base => sub { () };
19 override exporter_for_package => sub {
21 my ($import) = Moose::Exporter->build_import_methods(
22 also => ['MooseX::Role::Parameterized'],
23 with_caller => ['role'],
28 override next_import => sub { };
33 &MooseX::Role::Parameterized::role($caller, sub {
35 $args{operating_on} = Moose::Util::MetaRole::apply_metaroles(
36 for => $args{operating_on}->name,
38 applied_attribute => ['Reaction::Role::Meta::Attribute'],
40 ) if Moose->VERSION >= 1.9900;
45 __PACKAGE__->meta->make_immutable;
62 See L<Reaction::Class> for authors.
66 See L<Reaction::Class> for the license.