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
The original constraint CodeRef is stashed away here.
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.
Reader for the "original_constraint" attribute; returns the original constraint as passed to new().
Predicate for the "original_constraint" attribute.
Reader for the "mooish" attribute.
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.
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.
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 <email@example.com>
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, gittip me, or indulge my Amazon 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
To install MooseX::Meta::TypeConstraint::Mooish, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell
For more information on module installation, please visit the detailed CPAN module installation guide.