Kazuhiro Osawa > Class-Component-0.17 > Class::Component::Component::Moosenize

Download:
Class-Component-0.17.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Source  

NAME ^

Class::Component::Component::Moosenize - you can Moose like Plugin code

SYNOPSIS ^

EXPORT METHODS ^

requires, with
  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
  }
before after around

See also Moose and Moose::Role

AUTHOR ^

Kazuhiro Osawa <ko@yappo.ne.jp>

SEE ALSO ^

Class::Component, Moose, Moose::Role, Class::MOP

LICENSE ^

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: