/usr/share/perl5/MooseX/App/WritingPlugins.pod is in libmoosex-app-perl 1.22-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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | =encoding utf8
=pod
=head1 NAME
MooseX::App::WritingPlugins - Writing plugins for MooseX::App
=head1 SYNOPSIS
package MooseX::App::Plugin::MyPlugin;
use Moose::Role;
sub plugin_metaroles {
my ($self,$class) = @_;
return {
class => ['MooseX::App::Plugin::MyPlugin::Meta::Class'],
}
}
around 'initialize_command_class' => sub {
...
};
=head1 DESCRIPTION
Plugins are implemented as Moose roles and must reside in the
MooseX::App::Plugin::* namespace. Metaclasses can be altered via the
'plugin_metaroles' callback method. Furthermore Moose method modifiers
(around, after, before) can be used to alter the behaviour of MooseX::App or
its meta classes.
=head1 CALLBACKS
=head2 plugin_metaroles
Optional callback method that should return a hash reference specifying which
metaroles will be applied to the class metaclass and its contained metaclasses
and helper classes.
Each key should in turn point to an array reference of role names.
It accepts the following keys:
=over
=item * class
=item * attribute
=item * method
=item * wrapped_method
=item * instance
=item * constructor
=item * destructor
=item * error
=back
=head1 METACLASSES
Most of MooseX-App behaviour is implemented in metaclass roles. When writing
plugins you will most likely need to alter/augument the behaviour of these
roles. Implementation details can be found in the respective packages.
=over
=item * L<MooseX::App::Meta::Role::Class::Base> is applied to the base metaclass
=item * L<MooseX::App::Meta::Role::Class::Command> is applied to the command metaclass
=item * L<MooseX::App::Meta::Role::Attribute::Option> is applied to all attributes
in the base and command meta classes
=back
=cut
|