The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Brannigan::Tree - A Brannigan validation/parsing scheme tree, possibly built from a series of inherited schemes.

VERSION

version 1.1

DESCRIPTION

This module is used internally by Brannigan. Basically, a tree is a validation/parsing scheme in its "final", workable structure, taking any inherited schemes into account. The actual validation and parsing of input is done by this module.

CONSTRUCTOR

new( $scheme | @schemes )

Creates a new Brannigan::Tree instance from one or more schemes.

OBJECT METHODS

process( \%params )

Validates and parses the hash-ref of input parameters. Returns a hash-ref of the parsed input, possibly containing a '_rejects' hash-ref with a list of failed validations for each failed parameter.

validate( \%params )

Validates the hash-ref of input parameters and returns a hash-ref of rejects (i.e. failed validation methods) for each parameter.

parse( \%params, \%param_rules, [\%group_rules] )

Receives a hash-ref of parameters, a hash-ref of parameter rules (this is the 'params' part of a scheme) and optionally a hash-ref of group rules (this is the 'groups' part of a scheme), parses the parameters according to these rules and returns a hash-ref of all the parameters after parsing.

SEE ALSO

Brannigan, Brannigan::Validations.

AUTHOR

Ido Perlmuter, <ido at ido50 dot net>

BUGS

Please report any bugs or feature requests to bug-brannigan at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Brannigan. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

        perldoc Brannigan::Tree

You can also look for information at:

LICENSE AND COPYRIGHT

Copyright 2010-2013 Ido Perlmuter.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.