NAME

Config::Model::Describe - Provide a description of a node element

VERSION

version 2.155

SYNOPSIS

use Config::Model;

# define configuration tree object
my $model = Config::Model->new;
 $model->create_config_class(
   name    => "Foo",
   element => [
       [qw/foo bar/] => {
           type       => 'leaf',
           value_type => 'string'
       },
   ]
);
$model ->create_config_class (
   name => "MyClass",

   element => [

       [qw/foo bar/] => {
           type       => 'leaf',
           value_type => 'string'
       },
       hash_of_nodes => {
           type       => 'hash',     # hash id
           index_type => 'string',
           cargo      => {
               type              => 'node',
               config_class_name => 'Foo'
           },
       },
   ],
) ;

my $inst = $model->instance(root_class_name => 'MyClass' );

my $root = $inst->config_root ;

# put data
my $steps = 'foo=FOO hash_of_nodes:fr foo=bonjour -
  hash_of_nodes:en foo=hello ';
$root->load( steps => $steps );

print $root->describe ;

### prints
# name          type       value          comment
# foo           string     FOO
# bar           string     [undef]
# hash_of_nodes node hash  <Foo>          keys: "en" "fr"

DESCRIPTION

This module is used directly by Config::Model::Node to describe a node element. This module returns a human readable string that shows the content of a configuration node.

For instance (as shown by fstab example:

name         type         value        comment
fs_spec      string       [undef]      mandatory
fs_vfstype   enum         [undef]      choice: auto davfs ext2 ext3 swap proc iso9660 vfat ignore, mandatory
fs_file      string       [undef]      mandatory
fs_freq      boolean      0
fs_passno    integer      0

This module is also used by the ll command of Config::Model::TermUI.

CONSTRUCTOR

new

No parameter. The constructor should be used only by Config::Model::Node.

Methods

describe

Return a description string.

Parameters are:

node

Reference to a Config::Model::Node object. Mandatory

element

Describe only this element from the node. Optional. All elements are described if omitted.

pattern

Describe the element matching the regexp ref. Example:

describe => ( pattern => qr/^foo/ )
hide_empty

Boolean. Whether to hide empty value (i.e. undef or '') or not. Default is false.

verbose

Boolean. Display more information with each element. Default is false.

AUTHOR

Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO

Config::Model,Config::Model::Node,Config::Model::ObjTreeScanner

AUTHOR

Dominique Dumont

COPYRIGHT AND LICENSE

This software is Copyright (c) 2005-2022 by Dominique Dumont.

This is free software, licensed under:

The GNU Lesser General Public License, Version 2.1, February 1999