.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "MooseX::Declare::Syntax::MooseSetup 3pm" .TH MooseX::Declare::Syntax::MooseSetup 3pm "2015-08-16" "perl v5.20.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" MooseX::Declare::Syntax::MooseSetup \- Common Moose namespaces declarations .SH "VERSION" .IX Header "VERSION" version 0.43 .SH "DESCRIPTION" .IX Header "DESCRIPTION" 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. .SH "METHODS" .IX Header "METHODS" .SS "auto_make_immutable" .IX Subsection "auto_make_immutable" .Vb 1 \& Bool Object\->auto_make_immutable () .Ve .PP 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. .SS "imported_moose_symbols" .IX Subsection "imported_moose_symbols" .Vb 1 \& List Object\->imported_moose_symbols () .Ve .PP This will return \f(CW\*(C`confess\*(C'\fR and \f(CW\*(C`blessed\*(C'\fR by default to provide as additional imports to the namespace. .SS "import_symbols_from" .IX Subsection "import_symbols_from" .Vb 1 \& Str Object\->import_symbols_from () .Ve .PP The namespace from which the additional imports will be imported. This will return \f(CW\*(C`Moose\*(C'\fR by default. .SH "CONSUMES" .IX Header "CONSUMES" .IP "\(bu" 4 MooseX::Declare::Syntax::NamespaceHandling .IP "\(bu" 4 MooseX::Declare::Syntax::EmptyBlockIfMissing .SH "MODIFIED METHODS" .IX Header "MODIFIED METHODS" .SS "default_inner" .IX Subsection "default_inner" .Vb 1 \& ArrayRef default_inner () .Ve .PP This will provide the following default inner-handlers to the namespace: .IP "\(bu" 4 method .Sp A simple Method handler. .IP "\(bu" 4 around .Sp This is a MethodModifier handler that will start the signature of the generated method with \&\f(CW\*(C`$orig: $self\*(C'\fR to provide the original method in \f(CW$orig\fR. .IP "\(bu" 4 after .IP "\(bu" 4 before .IP "\(bu" 4 override .IP "\(bu" 4 augment .Sp These four handlers are MethodModifier instances. .IP "\(bu" 4 clean .Sp This is an instance of the Clean keyword handler. .PP The original method will never be called and all arguments are ignored at the moment. .SS "setup_inner_for" .IX Subsection "setup_inner_for" .Vb 1 \& Object\->setup_inner_for (ClassName $class) .Ve .PP This will install a \f(CW\*(C`with\*(C'\fR function that will push its arguments onto a global storage array holding the roles of the current namespace. .SS "add_namespace_customizations" .IX Subsection "add_namespace_customizations" .Vb 1 \& Object\->add_namespace_customizations (Object $context, Str $package, HashRef $options) .Ve .PP After all other customizations, this will first add code to import the \&\*(L"imported_moose_symbols\*(R" from the package returned in \*(L"import_symbols_from\*(R" to the preamble. .PP Then it will add a code part that will immutabilize the class to the cleanup code if the \&\*(L"auto_make_immutable\*(R" method returned a true value and \f(CW\*(C`$options\->{is}{mutable}\*(C'\fR does not exist. .SS "handle_post_parsing" .IX Subsection "handle_post_parsing" .Vb 1 \& CodeRef Object\->handle_post_parsing (Object $context, Str $package, Str|Object $name) .Ve .PP Generates a callback that sets up the roles in the global role storage for the current namespace. The \f(CW$name\fR parameter will be the specified name (in contrast to \f(CW$package\fR which will always be the fully qualified name) or the anonymous metaclass instance if none was specified. .SH "SEE ALSO" .IX Header "SEE ALSO" .IP "\(bu" 4 MooseX::Declare .IP "\(bu" 4 Moose .SH "AUTHOR" .IX Header "AUTHOR" Florian Ragwitz .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2008 by Florian Ragwitz. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.