David Cantrell > Params-Validate-Dependencies > Data::Domain::Dependencies

Download:
Params-Validate-Dependencies-1.21.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 1.21   Source  

NAME ^

Data::Domain::Dependencies

DESCRIPTION ^

A sub-class of Data::Domain which provides functions and objects to let Data::Domain use the same functions as Params::Validate::Dependencies.

SYNOPSIS ^

This creates a domain which, when passed a hashref to inspect, will check that it contains at least one of an 'alpha' or 'beta' key, or both of 'foo' and 'bar'.

  use Data::Domain::Dependencies qw(:all);

  my $domain = Dependencies(
    any_of(
      qw(alpha beta),
      all_of(qw(foo bar))
    )
  );

  my $errors = $domain->inspect(\%somehash);

SUBROUTINES and EXPORTS ^

Nothing is exported by default, but you can export any of the *_of functions of Params::Validate::Dependencies, and the 'Dependencies' function. They are all available under the 'all' tag.

Dependencies

This takes a code-ref argument as returned by the *_of functions.

It returns an object which is a sub-class of Data::Domain::Dependencies and so has an 'inspect' method that you can use to check for errors when passing it a hash-ref.

new

'Dependencies' above is really just a thin wrapper around this constructor. You are encouraged to not call this directly.

generate_documentation

This is an additional method, not found in Data::Domain, which generates vaguely readable documentation for the domain. Broadly speaking, it spits out the source code.

LIES ^

Some of the above is incorrect. If you really want to know what's going on, look at Params::Validate::Dependencies::Extending.

BUGS, LIMITATIONS, and FEEDBACK ^

I like to know who's using my code. All comments, including constructive criticism, are welcome.

Please report any bugs either by email or using http://rt.cpan.org/ or at https://github.com/DrHyde/perl-modules-Params-Validate-Dependencies/issues.

Bug reports should contain enough detail that I can replicate the problem and write a test. The best bug reports have those details in the form of a .t file. If you also include a patch I will love you for ever.

SEE ALSO ^

Params::Validate::Dependencies

Data::Domain

SOURCE CODE REPOSITORY ^

git://github.com/DrHyde/perl-modules-Params-Validate-Dependencies.git

https://github.com/DrHyde/perl-modules-Params-Validate-Dependencies/

COPYRIGHT and LICENCE ^

Copyright 2011 David Cantrell <david@cantrell.org.uk>

This software is free-as-in-speech software, and may be used, distributed, and modified under the terms of either the GNU General Public Licence version 2 or the Artistic Licence. It's up to you which one you use. The full text of the licences can be found in the files GPL2.txt and ARTISTIC.txt, respectively.

CONSPIRACY ^

This module is also free-as-in-mason.

syntax highlighting: