NAME
Catmandu::Fix::Bind::list - a binder that computes Fix-es for every element in a list
SYNOPSIS
# Create an array:
# demo:
# - red
# - green
# - yellow
# Add a foo field to every item in the demo list, by default all
# fixes will be in context of the iterated path. If the context
# is a list, then '.' will be the path of the temporary context
# variable
do list(path:demo)
if all_equal(.,green)
upcase(.)
end
end
# This will result:
# demo:
# - red
# - GREEN
# - yellow
# Loop over the list but store the values in a temporary 'c' variable
# Use this c variable to copy the list to the root 'xyz' path
do list(path:demo,var:c)
copy_field(c,xyz.$append)
end
# This will result:
# demo:
# - red
# - GREEN
# - yellow
# xyz:
# - red
# - GREEN
# - yellow
DESCRIPTION
The list binder will iterate over all the elements in a list and fixes the values in context of that list.
CONFIGURATION
path
The path to a list in the data.
var
The loop variable to be iterated over. When used, a magic temporary field will be available in the root of the record containing the iterated data.