| MooseX-Declare documentation | view source | Contained in the MooseX-Declare distribution. |
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.
Str Object->import_symbols_from ()
The namespace from which the additional imports will be imported. This
will return Moose by default.
ArrayRef default_inner ()
This will provide the following default inner-handlers to the namspace:
$orig: $self to provide the original method in $orig. 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.
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.
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.
This software is copyright (c) 2010 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.
| MooseX-Declare documentation | view source | Contained in the MooseX-Declare distribution. |