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

Download:
Validation-Class-7.86.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 7.86   Source   Latest Release: Validation-Class-7.900056

NAME ^

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

VERSION ^

version 7.86

SYNOPSIS ^

    package MyApp::Class;

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

    Validation::Class::Exporter->apply_spec(
        routines => ['thing'], # export routines as is
        settings => [ ... ] # passed to the "load" method, see Validation::Class
    );

    has foo => 0;

    bld sub {

        shift->foo(1);

    };

    sub thing {

        my $args = pop;

        my $class = shift || caller;

        # routine as a keyword

        $class->{config}->{THING} = [$args];

    };

    package MyApp::Example;

    use MyApp::Class;

    thing ['this' => 'that'];

    package main;

    my $eg = MyApp::Example->new; # we have lift-off!!!

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: