NAME MooseX::BatmanBeforeRobin - Ordered Moose sugar VERSION 0.0201 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. BUGS COPYRIGHT & LICENSE AUTHOR Jan Henning Thorsen "jhthorsen at cpan.org"