GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
MooseX::App::WritingPlugins(3) User Contributed Perl Documentation MooseX::App::WritingPlugins(3)
 

MooseX::App::WritingPlugins - Writing plugins for MooseX::App

 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 {
    ...
 };

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.

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:
class
attribute
method
wrapped_method
instance
constructor
destructor
error

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.
MooseX::App::Meta::Role::Class::Base is applied to the base metaclass
MooseX::App::Meta::Role::Class::Command is applied to the command metaclass
MooseX::App::Meta::Role::Attribute::Option is applied to all attributes in the base and command meta classes
2016-12-18 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.