.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "DBIx::Class::Schema::PopulateMore::Visitor 3pm" .TH DBIx::Class::Schema::PopulateMore::Visitor 3pm "2023-01-22" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" DBIx::Class::Schema::PopulateMore::Visitor \- Visitor for the Populate Data .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& ##Example Usage .Ve .PP See Tests for more example usage. .SH "DESCRIPTION" .IX Header "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 \s-1FK\s0 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. .PP Right now we only have one substitution to do, which is the \s-1FK\s0 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. .SH "ATTRIBUTES" .IX Header "ATTRIBUTES" This class defines the following attributes. .SS "update_callback" .IX Subsection "update_callback" The coderef to be execute should the match condition succeed .SS "match_condition" .IX Subsection "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. .PP The default behavior (where there is no substitution namespace, is to do the inflate to resultset. This is the most common usecase. .SS "seen" .IX Subsection "seen" Used to collect up ref addresses of arrays/hashes we have already seen .SH "METHODS" .IX Header "METHODS" This module defines the following methods. .SS "callback" .IX Subsection "callback" Given a coderef, sets the current callback and returns self so that we can chain .SS "visit" .IX Subsection "visit" A simple visitor that only expects to perform replacements on values .SS "visit_value" .IX Subsection "visit_value" Here is where we make the choice as to if this value needs to be inflated via a plugin .SS "match_or_not" .IX Subsection "match_or_not" We break this out to handle the ugliness surrounding dealing with undef values and also to make it easier on subclassers. .SH "AUTHOR" .IX Header "AUTHOR" Please see DBIx::Class::Schema::PopulateMore For authorship information .PP visit method culled from code in Data::Visitor::Lite which is copyright 2011 Daichi Hiroki .SH "LICENSE" .IX Header "LICENSE" Please see DBIx::Class::Schema::PopulateMore For licensing terms.