MooseX::Declare::Syntax::MooseSetup - Common Moose namespaces declarations
This role is basically an extension to NamespaceHandling. It adds all the common parts for Moose namespace definitions. Examples of this role can be found in the class and role keywords.
Bool Object->auto_make_immutable ()
Since Moose::Roles can't be made immutable (this is not a bug or a missing feature, it would make no sense), this always returns false.
List Object->imported_moose_symbols ()
This will return confess and blessed by default to provide as additional imports to the namespace.
confess
blessed
Str Object->import_symbols_from ()
The namespace from which the additional imports will be imported. This will return Moose by default.
Moose
MooseX::Declare::Syntax::NamespaceHandling
MooseX::Declare::Syntax::EmptyBlockIfMissing
ArrayRef default_inner ()
This will provide the following default inner-handlers to the namspace:
method
A simple Method handler.
around
This is a MethodModifier handler that will start the signature of the generated method with $orig: $self to provide the original method in $orig.
$orig: $self
$orig
after
before
override
augment
These four handlers are MethodModifier instances.
clean
This is an instance of the Clean keyword handler.
The original method will never be called and all arguments are ignored at the moment.
Object->setup_inner_for (ClassName $class)
This will install a with function that will push its arguments onto a global storage array holding the roles of the current namespace.
with
Object->add_namespace_customizations (Object $context, Str $package, HashRef $options)
After all other customizations, this will first add code to import the "imported_moose_symbols" from the package returned in "import_symbols_from" to the preamble.
Then it will add a code part that will immutabilize the class to the cleanup code if the "auto_make_immutable" method returned a true value and $options-{is}{mutable}> does not exist.
$options-
CodeRef Object->handle_post_parsing (Object $context, Str $package, Str|Object $name)
Generates a callback that sets up the roles in the global role storage for the current namespace. The $name parameter will be the specified name (in contrast to $package which will always be the fully qualified name) or the anonymous metaclass instance if none was specified.
$name
$package
MooseX::Declare
Florian Ragwitz <rafl@debian.org>
Ash Berlin <ash@cpan.org>
Chas. J. Owens IV <chas.owens@gmail.com>
Chris Prather <chris@prather.org>
Dave Rolsky <autarch@urth.org>
Devin Austin <dhoss@cpan.org>
Hans Dieter Pearcey <hdp@cpan.org>
Justin Hunter <justin.d.hunter@gmail.com>
Matt Kraai <kraai@ftbfs.org>
Michele Beltrame <arthas@cpan.org>
Nelo Onyiah <nelo.onyiah@gmail.com>
nperez <nperez@cpan.org>
Piers Cawley <pdcawley@bofh.org.uk>
Rafael Kitover <rkitover@io.com>
Robert 'phaylon' Sedlacek <rs@474.at>
Stevan Little <stevan.little@iinteractive.com>
Tomas Doran <bobtfish@bobtfish.net>
Yanick Champoux <yanick@babyl.dyndns.org>
This software is copyright (c) 2011 by Florian Ragwitz.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install MooseX::Declare, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MooseX::Declare
CPAN shell
perl -MCPAN -e shell install MooseX::Declare
For more information on module installation, please visit the detailed CPAN module installation guide.