.\" 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::TraitFor::Meta::TypeConstraint::Mooish 3pm" .TH MooseX::TraitFor::Meta::TypeConstraint::Mooish 3pm "2015-03-13" "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::TraitFor::Meta::TypeConstraint::Mooish \- Handle Moo\-style constraints .SH "VERSION" .IX Header "VERSION" This document describes version 0.001 of MooseX::TraitFor::Meta::TypeConstraint::Mooish \- released March 12, 2015 as part of MooseX-Meta-TypeConstraint-Mooish. .SH "SYNOPSIS" .IX Header "SYNOPSIS" This trait implements the functionality described in MooseX::Meta::TypeConstraint::Mooish, and you, dear reader, are encouraged to read about it over there. Here we simply document the nuts and bolts. .SH "DESCRIPTION" .IX Header "DESCRIPTION" .Vb 2 \& # determining where this goes is left as an exercise for the reader \& with \*(AqMooseX::TraitFor::Meta::TypeConstraint::Mooish\*(Aq; .Ve .SH "ATTRIBUTES" .IX Header "ATTRIBUTES" .SS "original_constraint" .IX Subsection "original_constraint" The original constraint CodeRef is stashed away here. .SS "mooish" .IX Subsection "mooish" If true, the constraint should be considered written in the style of Moo constraints; that is, if an exception is thrown the constraint is considered to have failed; otherwise it passes. Return values are ignored. .PP Default is true. .SH "METHODS" .IX Header "METHODS" .SS "\fIoriginal_constraint()\fP" .IX Subsection "original_constraint()" Reader for the \*(L"original_constraint\*(R" attribute; returns the original constraint as passed to \fInew()\fR. .SS "\fIhas_original_constraint()\fP" .IX Subsection "has_original_constraint()" Predicate for the \*(L"original_constraint\*(R" attribute. .SS "\fImooish()\fP" .IX Subsection "mooish()" Reader for the \*(L"mooish\*(R" attribute. .SS "compile_type_constraint" .IX Subsection "compile_type_constraint" If \*(L"mooish\*(R" is true, we wrap the \*(L"original_constraint\*(R" in a sub that translates Moo behaviors (die on fail; otherwise success) to Moose::Meta::TypeConstraint expectations (false on fail; true on success). .PP We stash the original constraint in \*(L"original_constraint\*(R" (surprise!), and set the constraint attribute to the wrapped constraint. .SS "create_child_type" .IX Subsection "create_child_type" Subtypes created here are not mooish, unless an explicit \f(CW\*(C`mooish =\*(C'\fR 1> is passed. .SH "SEE ALSO" .IX Header "SEE ALSO" Please see those modules/websites for more information related to this module. .IP "\(bu" 4 MooseX::Meta::TypeConstraint::Mooish .IP "\(bu" 4 MooseX::Meta::TypeConstraint::Mooish .SH "SOURCE" .IX Header "SOURCE" The development version is on github at and may be cloned from .SH "BUGS" .IX Header "BUGS" Please report any bugs or feature requests on the bugtracker website https://github.com/RsrchBoy/moosex\-meta\-typeconstraint\-mooish/issues .PP When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature. .SH "AUTHOR" .IX Header "AUTHOR" Chris Weyl .SS "I'm a material boy in a material world" .IX Subsection "I'm a material boy in a material world" Please note \fBI do not expect to be gittip'ed or flattr'ed for this work\fR, rather \fBit is simply a very pleasant surprise\fR. I largely create and release works like this because I need them or I find it enjoyable; however, don't let that stop you if you feel like it ;) .PP Flattr this , gittip me , or indulge my Amazon Wishlist ... If you so desire. .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is Copyright (c) 2015 by Chris Weyl. .PP This is free software, licensed under: .PP .Vb 1 \& The GNU Lesser General Public License, Version 2.1, February 1999 .Ve