logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Config::Model::DumpAsData - Dump configuration content as a perl data structure

Author

       Dominique Dumont

Constructor

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

Description

       This module is used directly by Config::Model::Node to dump the content of a configuration tree in perl
       data structure.

       The perl data structure is a hash of hash. Only CheckList content is stored in an array ref.

       User can pass a sub reference to apply to values of boolean type. This sub can be used to convert the
       value to an object representing a boolean like boolean. (since 2.129)

       Note that undefined values are skipped for list element. I.e. if a list element contains
       "('a',undef,'b')", the data structure then contains 'a','b'.

Methods

dump_annotations_as_pod
       Return a string formatted in pod (See perlpod) with the annotations.

       Parameters are:

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

       check_list
           Yes, no or skip

Name

       Config::Model::DumpAsData - Dump configuration content as a perl data structure

See Also

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

Synopsis

        use Config::Model ;
        use Data::Dumper ;

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

           ],
        ) ;

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

        my $root = $inst->config_root ;

        # put some data in config tree the hard way
        $root->fetch_element('foo')->store('yada') ;
        $root->fetch_element('bar')->store('bla bla') ;
        $root->fetch_element('baz')->fetch_with_id('en')->store('hello') ;

        # put more data the easy way
        my $steps = 'baz:fr=bonjour baz:hr="dobar dan"';
        $root->load( steps => $steps ) ;

        print Dumper($root->dump_as_data);
        # $VAR1 = {
        #         'bar' => 'bla bla',
        #         'baz' => {
        #                    'en' => 'hello',
        #                    'fr' => 'bonjour',
        #                    'hr' => 'dobar dan'
        #                  },
        #         'foo' => 'yada'
        #       };

Version

       version 2.155

See Also