Karen Etheridge > MooseX-Types-Structured > MooseX::Meta::TypeConstraint::Structured

Download:
MooseX-Types-Structured-0.30.tar.gz

Annotate this POD

Website

CPAN RT

New  2
Open  1
Stalled  2
View/Report Bugs
Source  

NAME ^

MooseX::Meta::TypeConstraint::Structured - Structured type constraints.

VERSION ^

version 0.30

DESCRIPTION ^

A structure is a set of Moose::Meta::TypeConstraint that are 'aggregated' in such a way as that they are all applied to an incoming list of arguments. The idea here is that a Type Constraint could be something like, "An Int followed by an Int and then a Str" and that this could be done so with a declaration like:

    Tuple[Int,Int,Str]; ## Example syntax

So a structure is a list of type constraints (the Int,Int,Str in the above example) which are intended to function together.

ATTRIBUTES ^

type_constraints

A list of Moose::Meta::TypeConstraint objects.

constraint_generator

METHODS ^

validate

Messing with validate so that we can support nicer error messages.

generate_constraint_for ($type_constraints)

Given some type constraints, use them to generate validation rules for an ref of values (to be passed at check time)

parameterize (@type_constraints)

Given a ref of type constraints, create a structured type.

__infer_constraint_generator

compile_type_constraint

hook into compile_type_constraint so we can set the correct validation rules.

create_child_type

modifier to make sure we get the constraint_generator

is_a_type_of

is_subtype_of

equals

Override the base class behavior.

type_constraints_equals

Checks to see if the internal type constraints are equal.

get_message

Give you a better peek into what's causing the error. For now we stringify the incoming deep value with Devel::PartialDump and pass that on to either your custom error message or the default one. In the future we'll try to provide a more complete stack trace of the actual offending elements

A subref or closure that contains the way we validate incoming values against a set of type constraints.

This returns a CODEREF which generates a suitable constraint generator. Not user servicable, you'll never call this directly.

SEE ALSO ^

The following modules or resources may be of interest.

Moose, Moose::Meta::TypeConstraint

AUTHORS ^

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2008 by John Napiorkowski.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: