/usr/share/perl5/MooseX/Role/Parameterized/Meta/Trait/Parameterized.pm is in libmoosex-role-parameterized-perl 1.02-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | package MooseX::Role::Parameterized::Meta::Trait::Parameterized;
use Moose::Role;
our $VERSION = '1.02';
use MooseX::Role::Parameterized::Parameters;
use Moose::Util 'find_meta';
has genitor => (
is => 'ro',
isa => 'MooseX::Role::Parameterized::Meta::Role::Parameterizable',
required => 1,
);
has parameters => (
is => 'rw',
isa => 'MooseX::Role::Parameterized::Parameters',
);
around reinitialize => sub {
my $orig = shift;
my $class = shift;
my ($pkg) = @_;
my $meta = blessed($pkg) ? $pkg : find_meta($pkg);
my $genitor = $meta->genitor;
my $parameters = $meta->parameters;
my $new = $class->$orig(
@_,
(defined($genitor) ? (genitor => $genitor) : ()),
(defined($parameters) ? (parameters => $parameters) : ()),
);
# in case the role metaclass was reinitialized
$MooseX::Role::Parameterized::CURRENT_METACLASS = $new;
return $new;
};
no Moose::Role;
1;
__END__
=head1 NAME
MooseX::Role::Parameterized::Meta::Trait::Parameterized - trait for parameterized roles
=head1 DESCRIPTION
This is the trait for parameterized roles; that is, parameterizable roles with
their parameters bound. All this actually provides is a place to store the
L<MooseX::Role::Parameterized::Parameters> object as well as the
L<MooseX::Role::Parameterized::Meta::Role::Parameterizable> object that
generated this role object.
=head1 ATTRIBUTES
=head2 genitor
Returns the L<MooseX::Role::Parameterized::Meta::Role::Parameterizable>
metaobject that generated this role.
=head2 parameters
Returns the L<MooseX::Role::Parameterized::Parameters> object that represents
the specific parameter values for this parameterized role.
=cut
|