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.
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, gittip me, or indulge my Amazon Wishlist... If you so desire.
COPYRIGHT AND LICENSE
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