Simply loading the MooseX::StrictConstructor module makes your
constructors "strict". If your constructor is called with an attribute
init argument that your class does not declare, then it calls
"Carp::confess()". This is a great way to catch small typos.
MooseX::Traits::Pluggable - an extension to MooseX::Traits. Adds support for
class precedence search for traits and some extra attributes.
This module provides a formatter which turns byte counts to usual
readable format.
Ouch provides a class for exception handling that doesn't require a
lot of boilerplate, nor any up front definition. If Exception::Class
is working for you, great! But if you want something that is faster,
easier to use, requires less typing, and has no prereqs, but still
gives you much of that same functionality, then Ouch is for you.
Often you want to create components that can be added to a class
arbitrarily. This module makes it easy for the end user to use these
components. Instead of requiring the user to create a named class with
the desired roles applied, or applying roles to the instance one-by-one,
he can just pass a traits parameter to the class's new_with_traits
constructor. This role will then apply the roles in one go, cache the
resulting class (for efficiency), and return a new instance. Arguments
meant to initialize the applied roles' attributes can also be passed to
the constructor.
OOTools is a collection of pragmas to easily create constructors methods and
lvalue accessor methods at compile time. OOTools distribution includes:
Class::constr Pragma to implement constructor methods
Class::props Pragma to implement lvalue accessors with options
Class::group Pragma to implement group of properties accessors with options
Object::props Pragma to implement lvalue accessors with options
Object::group Pragma to implement group of properties accessors with options
MooseX::TransactionalMethods exports the "transactional" declarator that will
enclose the method in a txn_do call.
MooseX::Types::Common is a set of commonly-used type constraints
that do not ship with Moose by default.
This module packages several Moose::Util::TypeConstraints with
coercions, designed to work with the DateTime suite of objects.
This module is just the MooseX::Types::DateTime without the requirement
on DateTimeX::Easy (which requires DateTime::Manip). As of 0.05
this module supports globally unique Olson abbreviations, and dies
when they are not globally unique.
Object::Destroyer allows for the creation of "Destroy" handles. The
handle is "attached" to the circular relationship, but is not a part
of it. When the destroy handle falls out of scope, it will be cleaned
up correctly, and while being cleaned up, it will also force the data
structure it is attached to be destroyed as well. Object::Destroyer
can call a specified release method on an object (or method DESTROY by
default). Alternatively, it can execute an arbitrary user code passed
to constructor as a code reference.