oracular (3) MooseX::TraitFor::Meta::TypeConstraint::Mooish.3pm.gz

Provided by: libmoosex-meta-typeconstraint-mooish-perl_0.001-2_all bug

NAME

       MooseX::TraitFor::Meta::TypeConstraint::Mooish - Handle Moo-style constraints

VERSION

       This document describes version 0.001 of MooseX::TraitFor::Meta::TypeConstraint::Mooish - released March
       12, 2015 as part of MooseX-Meta-TypeConstraint-Mooish.

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.

DESCRIPTION

           # determining where this goes is left as an exercise for the reader
           with 'MooseX::TraitFor::Meta::TypeConstraint::Mooish';

ATTRIBUTES

   original_constraint
       The original constraint CodeRef is stashed away here.

   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.

       Default is true.

METHODS

   original_constraint()
       Reader for the "original_constraint" attribute; returns the original constraint as passed to new().

   has_original_constraint()
       Predicate for the "original_constraint" attribute.

   mooish()
       Reader for the "mooish" attribute.

   compile_type_constraint
       If "mooish" is true, we wrap the "original_constraint" in a sub that translates Moo behaviors (die on
       fail; otherwise success) to Moose::Meta::TypeConstraint expectations (false on fail; true on success).

       We stash the original constraint in "original_constraint" (surprise!), and set the constraint attribute
       to the wrapped constraint.

   create_child_type
       Subtypes created here are not mooish, unless an explicit "mooish =" 1> is passed.

SEE ALSO

       Please see those modules/websites for more information related to this module.

       •   MooseX::Meta::TypeConstraint::Mooish

       •   MooseX::Meta::TypeConstraint::Mooish

SOURCE

       The development version is on github at
       <http://https://github.com/RsrchBoy/moosex-meta-typeconstraint-mooish> and may be cloned from
       <git://https://github.com/RsrchBoy/moosex-meta-typeconstraint-mooish.git>

BUGS

       Please report any bugs or feature requests on the bugtracker website
       https://github.com/RsrchBoy/moosex-meta-typeconstraint-mooish/issues

       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.

AUTHOR

       Chris Weyl <cweyl@alumni.drew.edu>

   I'm a material boy in a material world
       Please note I do not expect to be gittip'ed or flattr'ed for this work, rather it is simply a very
       pleasant surprise. 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 ;)

       Flattr this
       <https://flattr.com/submit/auto?user_id=RsrchBoy&url=https%3A%2F%2Fgithub.com%2FRsrchBoy%2Fmoosex-meta-
       typeconstraint-mooish&title=RsrchBoy's%20CPAN%20MooseX-Meta-TypeConstraint-
       Mooish&tags=%22RsrchBoy's%20MooseX-Meta-TypeConstraint-Mooish%20in%20the%20CPAN%22>, gittip me
       <https://www.gittip.com/RsrchBoy/>, or indulge my Amazon Wishlist <http://bit.ly/rsrchboys-wishlist>...
       If you so desire.

       This software is Copyright (c) 2015 by Chris Weyl.

       This is free software, licensed under:

         The GNU Lesser General Public License, Version 2.1, February 1999