MooX::ConfigFromFile is intended to easy load initialization values for
attributes on object construction from an appropriate config file. The building
is done in MooX::ConfigFromFile::Rule - using MooX::ConfigFromFile ensures the
role is applied.
MooX::File::ConfigDir is a helper for easily find configuration file locations.
Whether to use this information for find a suitable place for installing them or
looking around for finding any piece of settings, heavily depends on the
requirements.
MooX::HandlesVia is an extension of Moo's 'handles' attribute
functionality. It provides a means of proxying functionality from
an external class to the given atttribute. This is most commonly
used as a way to emulate 'Native Trait' behavior that has become
commonplace in Moose code, for which there was no Moo alternative.
MooX::Options adds option keywords to your object (Mo/Moo/Moose)
Simply loading this module makes your constructors "strict". If your constructor
is called with an attribute init argument that your class does not declare, then
it dies. This is a great way to catch small typos.
This module optimizes Moo type checks when used with Type::Tiny to
perform better. It will automatically apply to isa checks and coercions
that use Type::Tiny. Non-Type::Tiny isa checks will work as normal.
This is done by inlining the type check in a more optimal manner that
is specific to Type::Tiny rather than the general mechanism Moo usually
uses.
With this module, setters with type checks should be as fast as an
equivalent check in Moose.
MooX::Types::MooseLike::Numeric provides Moo types for numbers.
Moo is a light-weight object oriented programming framework which aims
to be compatible with Moose. MooX::late provides some assistance by
enabling a slightly more Moosey surface syntax.
MooX::Types::MooseLike provides some Moosish types and a typer builder.
Moos completes the M to Moose sequence of Perl OO modules.
This one is pure Perl, single file and mostly Moose compatible (for what it
does). Moos has no non-core dependencies, but certain features (roles, debugging
functions, legacy Perl support) do require additional modules. If you steer away
from those features, you don't need those additional modules.