John Napiorkowski > DBIx-Class-Schema-PopulateMore-0.17 > DBIx::Class::Schema::PopulateMore::Visitor

Download:
DBIx-Class-Schema-PopulateMore-0.17.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

New  1
Open  0
View/Report Bugs
Source   Latest Release: DBIx-Class-Schema-PopulateMore-0.18

NAME ^

DBIx::Class::Schema::PopulateMore::Visitor - Visitor for the Populate Data

SYNOPSIS ^

    ##Example Usage

See Tests for more example usage.

DESCRIPTION ^

When populating a table, sometimes we need to inflate values that we won't know of in advance. For example we might have a column that is FK to another column in another table. We want to make it easy to 'tag' a value as something other than a real value to be inserted into the table.

Right now we only have one substitution to do, which is the FK one mentioned above, but we might eventually create other substitution types so we've broken this out to make it neat and easy to do so.

ATTRIBUTES ^

This class defines the following attributes.

update_callback

The coderef to be execute should the match condition succeed

match_condition

How we know the value is really something to inflate or perform a substitution on. This get's the namespace of the substitution plugin and it's other data.

The default behavior (where there is no substitution namespace, is to do the inflate to resultset. This is the most common usecase.

METHODS ^

This module defines the following methods.

callback

Given a coderef, sets the current callback and returns self so that we can chain

visit_value

Overload from the base case Data::Visitor Here is where we make the choice as to if this value needs to be inflated via a plugin

match_or_not

We break this out to handle the uglyness surrounding dealing with undef values and also to make it easier on subclassers.

AUTHOR ^

Please see DBIx::Class::Schema::PopulateMore For authorship information

LICENSE ^

Please see DBIx::Class::Schema::PopulateMore For licensing terms.

syntax highlighting: