sourCEntral - mobile manpages

pdf

Catmandu::Fix::include

NAME

Catmandu::Fix::include − include fixes from another file

SYNOPSIS

    include('/path/to/myfixes.txt')

NOTES

path is relative to a Catmandu load path

    #1. a catmandu load path is a directory where a catmandu configuration file can be found
    #2. as there are multiple load paths, it will loop through all the path, and include the first file it can find
    #3. in catmandu, the default_load_path is either
    #   3.1. the directory of the running script
    #   3.2. the parent directory of the running script if the directory is 'bin'
    #use default load_path
    #called from script "/opt/catmandu−project/fix.pl"
    #default_load_path: /opt/catmandu−project
    #file must be located at "/opt/catmandu−project/fixes/myfixes.txt"
    Catmandu−>fixer("include('fixes/myfixes.txt')");
    #use default load_path
    #called from script "/opt/catmandu−project/bin/fix.pl"
    #default_load_path: /opt/catmandu−project (notice the absence of 'bin')
    #file must be located at "/opt/catmandu−project/fixes/myfixes.txt"
    Catmandu−>fixer("include('fixes/myfixes.txt')");
    #load fixes, located at /opt/catmandu−project/fixes/myfixes.txt
    Catmandu−>load("/opt/catmandu−project");
    Catmandu−>fixer("include('fixes/myfixes.txt')");
    #look for 'fixes/myfixes.txt' in /opt/catmandu−project2, and if that fails in /opt/catmandu−project−1
    Catmandu−>load("/opt/catmandu−project2","/opt/catmandu−project−1");
    Catmandu−>fixer("include('fixes/myfixes.txt')");
    #if "/opt/catmandu−project/fixes/myfixes2.txt" does not exists, the fix will fail
    Catmandu−>load("/opt/catmandu−project");
    Catmandu−>fixer("include('fixes/myfixes2.txt)");

circular references are not detected
if the ’include’ is enclosed within an if-statement, the fixes are
inserted in the control structure, but only executed if the
if-statement evaluates to ’true’.

    #the fixes in the file 'add_address_fields.txt' are only executed when field 'name' has content,
    #but, the fixes are included in the control structure.
    if all_match('name','.+')
        include('add_address_fields.txt')
    end

SEE ALSO

Catmandu::Fix

pdf