logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

MooseX::Meta::TypeConstraint::Mooish - Translate Moo-style constraints to Moose-style

Author

       Chris Weyl <cweyl@alumni.drew.edu>

   I'mamaterialboyinamaterialworld
       Please  note  Idonotexpecttobegittip'edorflattr'edforthiswork, rather itissimplyaverypleasantsurprise. 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.

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.

Description

       Moose type constraints are expected to return true if the value passes the constraint, and false
       otherwise; Moo "constraints", on the other hand, die if validation fails.

       This metaclass allows for Moo-style constraints; it will wrap them and translate their Moo into a dialect
       Moose understands.

       Note that this is largely to enable functionality in MooseX::AttributeShortcuts; the easiest way use this
       metaclass is by using that package.  Also, as it's not inconceivable that this functionality may be
       desired in other constraint metaclasses, the bulk of this metaclass' functionality is implemented as a
       trait.

Name

       MooseX::Meta::TypeConstraint::Mooish - Translate Moo-style constraints to Moose-style

See Also

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

       •   MooseX::AttributeShortcuts

       •   MooseX::TraitFor::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>

Synopsis

           # easiest is via AttributeShortcuts
           use MooseX::AttributeShortcuts 0.028;

           has foo => (
               is  => 'rw',
               isa => sub { die unless $_[0] == 5 },
           );

           # or, the hard way
           use MooseX::Meta::TypeConstraint::Mooish;

           has foo => (
               is  => 'rw',
               isa => MooseX::Meta::TypeConstraint::Mooish->new(
                   constraint => sub { die unless $_[0] == 5 },
               ),
           );

Version

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

See Also