Provided by: libconfig-model-perl_2.047-1_all bug

NAME

       Config::Model::Report - Reports data from config tree

VERSION

       version 2.047

SYNOPSIS

        use Config::Model;
        use Log::Log4perl qw(:easy);
        Log::Log4perl->easy_init($WARN);

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

        $model->create_config_class(
           name => "MyClass",

           element => [

               [qw/foo bar/] => {
                   type       => 'leaf',
                   value_type => 'string'
               },
               my_enum => {
                   type       => 'leaf',
                   value_type => 'enum',
                   choice     => [qw/A B C/],
                   help       => {
                       A => 'first letter',
                       B => 'second letter',
                       C => 'third letter',
                   },
                   description => 'some letters',
               },
               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 $step = 'foo=FOO my_enum=B hash_of_nodes:fr foo=bonjour -
          hash_of_nodes:en foo=hello ';
        $root->load( step => $step );

        print $root->report ;
        #  foo = FOO
        #
        #  my_enum = B
        #         DESCRIPTION: some letters
        #         SELECTED: second letter
        #
        # hash_of_nodes:en foo = hello
        #         DESCRIPTION: some foo explanation
        #
        # hash_of_nodes:fr foo = bonjour
        #         DESCRIPTION: some foo explanation

DESCRIPTION

       This module is used directly by Config::Model::Node to provide a human readable report of
       the configuration. This report includes the configuration values and (if provided by the
       model) the description of the configuration item and their effect.

       A "report" will show "all" configuration items. An "audit" will show only configuration
       items which are different from their default value.

CONSTRUCTOR

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

Methods

   report
       Returns a string containing the configuration values and (if provided by the model) the
       description of the configuration item and their effect.

       Parameters are:

       audit
           Set to 1 to report only configuration data different from default values. Default is
           0.

       node
           Reference to the Config::Model::Node object that is dumped. All nodes and leaves
           attached to this node are also dumped.

AUTHOR

       Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO

       Config::Model,Config::Model::Node,Config::Model::Walker

AUTHOR

       Dominique Dumont

COPYRIGHT AND LICENSE

       This software is Copyright (c) 2013 by Dominique Dumont.

       This is free software, licensed under:

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