Config-Model-Itself

 view release on metacpan or  search on metacpan

lib/Config/Model/models/Itself/NonWarpableElement.pl  view on Meta::CPAN

                        'warped_node' => {
                            level            => 'normal',
                            upstream_default => 0,
                        },
                    }
                },
                description =>
                  "When set, a recurse copy of the value from the old object "
                  . "to the new object is attempted. Old values are dropped when "
                  ." a copy is not possible (usually because of mismatching types)."
            },

            # end warp elements for warped_node

            # leaf element

            'refer_to' => {
                type       => 'leaf',
                level      => 'hidden',
                value_type => 'uniline',
                warp       => {
                    follow => {
                        t  => '- type',
                        vt => '- value_type',
                    },
                    'rules' => [
                        '$t  eq "check_list" or $vt eq "reference"' =>
                          { level => 'important', },
                    ]
                },
                description =>
                  "points to an array or hash element in the configuration "
                  . "tree using L<grab syntax|Config::Model::Role::Grab>. "
                  . "The available choice of this "
                  . "reference value (or check list)is made from the available "
                  . "keys of the pointed hash element or the values of the pointed array element.",
            },

            'computed_refer_to' => {
                type   => 'warped_node',
                level      => 'hidden',
                warp => {
                    follow => {
                        t  => '- type',
                        vt => '- value_type',
                    },
                    'rules'    => [
                        '$t  eq "check_list" or $vt eq "reference"' => {
                            level             => 'normal',
                            config_class_name => 'Itself::ComputedValue',
                        },
                    ],
                },
                description =>
                  "points to an array or hash element in the configuration "
                  . "tree using a path computed with value from several other "
                  . "elements in the configuration tree. The available choice "
                  . "of this reference value (or check list) is made from the "
                  . "available keys of the pointed hash element or the values "
                  . "of the pointed array element. The keys of several hashes (or lists) "
                  . "can be combined by using the '+' operator in the formula. "
                  . q(For instance, '! host:$a lan + ! host:foobar lan'. See )
                  . "L<Config::Model::IdElementReference> for more details."
            },

            'replace_follow' => {
                type       => 'leaf',
                level      => 'hidden',
                value_type => 'uniline',
                warp       => {
                    follow  => { t               => '- type' },
                    'rules' => [ '$t  eq "leaf"' => { level => 'important', }, ]
                },
                description =>
                  "Path specifying a hash of value element in the configuration "
                  . "tree. The hash if used in a way similar to the replace "
                  . "parameter. In this case, the replacement is not coded "
                  . "in the model but specified by the configuration.",
            },

            'compute' => {
                type       => 'warped_node',
                level      => 'hidden',

                warp => {
                    follow  => { t => '- type', },
                    'rules' => [
                        '$t  eq "leaf"' => {
                            level             => 'normal',
                            config_class_name => 'Itself::ComputedValue',
                        },
                    ],
                },
                description =>
                  "compute the default value according to a formula and value "
                  . "from other elements in the configuration tree.",
            },

            'migrate_from' => {
                type       => 'warped_node',
                level      => 'hidden',

                warp => {
                    follow  => { t => '- type', },
                    'rules' => [
                        '$t  eq "leaf"' => {
                            level             => 'normal',
                            config_class_name => 'Itself::MigratedValue',
                        },
                    ],
                },
                description =>
                    "Specify an upgrade path from an old value and compute "
                  . "the value to store in the new element.",
            },

            'write_as' => {
                type       => 'list',
                level      => 'hidden',
                max_index  => 1,

                warp => {
                    follow  => { t => '- type', vt => '- value_type'},
                    rules   => [
                        '$t eq "leaf" and $vt eq "boolean"' => { level => 'normal', },
                    ]
                },
                cargo => {
                    type => 'leaf',
                    value_type => 'uniline',
                },
                description =>
                    "Specify how to write a boolean value. Example 'no' 'yes'.",
            },

            # hash or list element
            migrate_values_from => {
                type       => 'leaf',
                level      => 'hidden',
                value_type => 'uniline',
                warp       => {
                    follow  => { 't'                            => '?type' },
                    'rules' => [ '$t eq "hash" or $t eq "list"' => { level => 'normal', } ]
                } ,
                description => 'Specifies that the values of the hash or list are copied '
                    . 'from another hash or list in the configuration tree once configuration '
                    . 'data are loaded.',
            },

            # hash element
            migrate_keys_from => {
                type       => 'leaf',
                level      => 'hidden',
                value_type => 'uniline',
                warp       => {



( run in 0.496 second using v1.01-cache-2.11-cpan-39bf76dae61 )