Al Newkirk > Validation-Class-7.900040 > Validation::Class::Exporter

Download:
Validation-Class-7.900040.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 7.900040   Source   Latest Release: Validation-Class-7.900055

NAME ^

Validation::Class::Exporter - Simple Exporter for Validation::Class Classes

VERSION ^

version 7.900040

SYNOPSIS ^

    package MyApp::Validator;

    use Validation::Class;
    use Validation::Class::Exporter;

    my @settings = (
        classes => [
            MyApp::Validator::DomainAlpha
            MyApp::Validator::DomainBeta
        ]
    );

    Validation::Class::Exporter->apply_spec(
        routines => ['thing'], # export additional routines as is
        settings => [@settings] # passed to the `load` keyword in V::C
    );

    sub thing {

        my $args = pop;

        my $class = shift || caller;

        # routine as a keyword

        # ... do some thing

    };

... in your application class:

    package MyApp;

    use MyApp::Validator;

    thing ['a', 'b'];

... in your application:

    package main;

    my $app = MyApp->new;

DESCRIPTION ^

This module (while experimental) encapsulates the exporting of keywords and routines. It applies the Validation::Class framework along with any keyword routines and/or sub-routines specified with the apply_spec() method. It does this by simply by copying the spec into the calling class.

To simplify writing exporter modules, Validation::Class::Exporter also imports strict and warnings into your exporter module, as well as into modules that use it.

METHODS ^

apply_spec

When you call this method, Validation::Class::Exporter builds a custom import method on the calling class. The import method will export the functions you specify, and can also automatically export Validation::Class making the calling class a Validation::Class derived class.

This method accepts the following parameters:

AUTHOR ^

Al Newkirk <anewkirk@ana.io>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2011 by Al Newkirk.

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: