Often you want to write a persistant daemon that has a pid file, and responds
appropriately to Signals. This module provides a set of basic roles as an
infrastructure to do that.
MooseX::Declare provides syntactic sugar for Moose, the postmodern
object system for Perl 5. When used, it sets up the "class" and
"role" keywords.
This module does not provide any methods. Simply loading it changes the
default naming policy for the loading class so that accessors are
separated into get and set methods. The get methods are prefixed with
"get_" as the accessor, while set methods are prefixed with "set_".
This is the naming style recommended by Damian Conway in Perl Best
Practices.
This is a role which provides an alternate constructor for creating objects
using parameters passed in from the command line.
This module attempts to DWIM as much as possible with the command line params
by introspecting your class's attributes. It will use the name of your
attribute as the command line option, and if there is a type constraint
defined, it will configure Getopt::Long to handle the option accordingly.
The module MooseX::HasDefaults::RO defaults is to ro.
The module MooseX::HasDefaults::RW defaults is to rw.
If you pass a specific value to any has's is, that overrides the default. If
you do not want an accessor, pass is => undef.
This module provides a bridge between IOC registries and Moose objects
through a custom attribute metaclass.
MooseX::InsideOut is a inside-out objects with Moose.
This module adds a "lazy_required" option to Moose attribute
declarations.
The reader methods for all attributes with that option will throw an
exception unless a value for the attributes was provided earlier by a
constructor parameter or through a writer method.
treat arrays and hashes as lists
MooseX::MarkAsMethods allows one to easily mark certain functions as Moose
methods. This will allow other packages such as namespace::autoclean to operate
without blowing away your overloads. After using MooseX::MarkAsMethods your
overloads will be recognized by Class::MOP as being methods, and class extension
as well as composition from roles with overloads will "just work".
By default we check for overloads, and mark those functions as methods.
If 'autoclean => 1' is passed to import on use'ing this module, we will invoke
namespace::autoclean to clear out non-methods.