use 5.006; # our, pragmas use strict; use warnings; package MooseX::AttributeIndexes::Meta::Role::ApplicationToRole; our $VERSION = '2.000001'; # ABSTRACT: Give a role indexable attributes our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY use Moose::Role qw( around ); around apply => sub { my $orig = shift; my $self = shift; my ( $consumee, $consumer ) = @_; # applying $consumee to $consumer, $consumee has AttributeIndexes. # -> $consumer inherits indexable attributes. $consumer = Moose::Util::MetaRole::apply_metaroles( for => $consumer, role_metaroles => { application_to_class => [ 'MooseX::AttributeIndexes::Meta::Role::ApplicationToClass', ], application_to_role => [ 'MooseX::AttributeIndexes::Meta::Role::ApplicationToRole', ], }, ); $self->$orig( $consumee, $consumer ); }; no Moose::Role; 1; __END__ =pod =encoding UTF-8 =head1 NAME MooseX::AttributeIndexes::Meta::Role::ApplicationToRole - Give a role indexable attributes =head1 VERSION version 2.000001 =head1 AUTHORS =over 4 =item * Kent Fredric <kentnl@cpan.org> =item * Jesse Luehrs <doy@cpan.org> =back =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2017 by Kent Fredric <kentfredric@gmail.com>. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut