Class::Component::Component::Moosenize - you can Moose like Plugin code
package MyApp; use Class::Component; __PACKAGE__->load_components(qw/ Moosenize /); package MyApp::Plugin; use base 'Class::Component::Plugin'; use MyApp::Role; requires 'foo'; requires bar => ['Method'], baz => ['+Foo::MyAttribute']; requires hop => +{ Method => 'jump' }; package MyApp::Role; package MyApp::Role::Blah; use MyApp::Role; requires 'blah'; package MyApp::Plugin::Hoge; use base qw( MyApp::Plugin ); use MyApp::Role; with 'MyApp::Role::Blah'; sub foo { # simple method } sub bar { # same "sub bar :Method {" } sub baz { # same "sub baz :+Foo::MyAttribute {" } sub hop { # same "sub hop :Method('jump') {" } sub blah { # simple method }
See also Moose and Moose::Role
Kazuhiro Osawa <ko@yappo.ne.jp>
Class::Component, Moose, Moose::Role, Class::MOP
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Class::Component, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Class::Component
CPAN shell
perl -MCPAN -e shell install Class::Component
For more information on module installation, please visit the detailed CPAN module installation guide.