MooseX::TraitFor::Meta::TypeConstraint::Mooish - Handle Moo-style constraints
This document describes version 0.001 of MooseX::TraitFor::Meta::TypeConstraint::Mooish - released March 12, 2015 as part of MooseX-Meta-TypeConstraint-Mooish.
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.
# determining where this goes is left as an exercise for the reader
with 'MooseX::TraitFor::Meta::TypeConstraint::Mooish';
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.
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.
Please see those modules/websites for more information related to this module.
• |
MooseX::Meta::TypeConstraint::Mooish |
|||
• |
MooseX::Meta::TypeConstraint::Mooish |
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>
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.
Chris Weyl <cweyl AT alumni DOT drew DOT 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