NAME
MooseX::BatmanBeforeRobin - Ordered Moose sugar
VERSION
0.02
SYNOPSIS
package MyClass;
use MooseX::BatmanBeforeRobin;
extends ...;
with ...;
has ...;
one; # instead of 1;
DESCRIPTION
This class will take over some of the exported functions from Moose and call them in "the right order":
1: extends()
2: has()
3: with()
4: override()/augment()
5: before()/after()/around()
This is done by stashing the statements away, and applying them once the "one" function is called. An alternative to "one" is "__PACKAGE__", which allows you to do
(require MyMoose::Class)->some_method;
since require
will return the last value in the package.
This module will also export all other functions from Moose, so use Moose
is not required.
EXPORTED FUNCTIONS
See Moose.
one
This function should replace 1;
on the last line in your class. It will call the Moose keywords in "the right order" and afterwards make the class immutable and clear the namespace, using namespace::autoclean.
__PACKAGE__
Alternative to "one".
METHODS
init_meta
This method is called on import()
and sets up namespace::autoclean and Moose.
COPYRIGHT & LICENSE
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Jan Henning Thorsen jhthorsen at cpan.org