Florian Ragwitz > MooseX-Meta-TypeConstraint-Intersection-0.03 > MooseX::Meta::TypeConstraint::Intersection

Download:
MooseX-Meta-TypeConstraint-Intersection-0.03.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.03   Source   Latest Release: MooseX-Meta-TypeConstraint-Intersection-0.04

NAME ^

MooseX::Meta::TypeConstraint::Intersection - An intersection of Moose type constraints

VERSION ^

version 0.03

DESCRIPTION ^

This class represents an intersection of type constraints. An intersection takes multiple type constraints, and is true if all of its member constraints are true.

INHERITANCE ^

MooseX::Meta::TypeConstraint::Intersection is a subclass of Moose::Meta::TypeConstraint.

ATTRIBUTES ^

type_constraints

The member type constraints of this intersection.

METHODS ^

new(%options)

This creates a new intersection type constraint based on the given %options.

It takes the same options as its parent. It also requires an additional option, type_constraints. This is an array reference containing the Moose::Meta::TypeConstraint objects that are the members of the intersection type. The name option defaults to the names of all of these member types sorted and then joined by an ampersand (&).

check($value)

Checks a $value against the intersection constraint. If all member constraints accept the value, the value is valid and something true is returned.

equals($other_constraint)

A type is considered equal if it is also an intersection type, and the two intersections have the same member types.

parents

This returns the same constraint as the type_constraints method.

validate($value)

Like check, but returns an error message including all of the error messages returned by the member constraints, or undef.

validate_all($value)

Same as validate, but returns an array reference of tuples with error messages and the type constraints that produced them from the individual validation errors instead of a plain string with the errors concatenated.

is_subtype_of($other_constraint)

This returns true if the $other_constraint is also an intersection constraint and contains at least all of the member constraints of the intersection this method is called on.

THANKS ^

Ionzero LLC (http://ionzero.com) for sponsoring the initial development.

AUTHOR ^

Florian Ragwitz <rafl@debian.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2010 by Florian Ragwitz.

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: