Provided by: libtest2-harness-perl_1.000155-1_all bug

NAME

       Test2::Harness::Settings::Prefix - Abstraction of a settings category, aka prefix.

DESCRIPTION

       This class represents a settings category (prefix).

SYNOPSIS

           # You will rarely if ever need to construct settings yourself, usually a
           # component of Test2::Harness will expose them to you.
           my $settings = $thing->settings;
           my $display = $settings->display;

           # Once you have your prefix you can read data from it:
           my $verbose = $display->verbose;

           # If you dislike autoload methods you can use the 'field' method:
           my $verbose = $display->field('verbose');

           # You can also change values:
           $display->field(verbose => 1);

           # You can also use the autoloaded method as an lvalue, but this breaks on
           # perls older than 5.16, so it is not used internally, and you should only
           # use it if you know you will never need an older perl:
           $display->verbose = 1;

METHODS

       Note that any field that does not conflict with the predefined methods can be accessed via
       AUTOLOAD generating the methods as needed.

       $scalar_ref = $prefix->vivify_field($field_name)
           This will force a field into existance. It returns a scalar reference to the field
           which can be used to set the value:

               my $vref = $display->vivify_field('verbose');    # Create or find field
               ${$vref} = 1;                                    # set verbosity to 1

       $bool = $prefix->check_field($field_name)
           Check if a field is defined or not.

       $val = $prefix->field($field_name)
       $val = $prefix->$field_name
       $prefix->field($field_name, $val)
       $prefix->$field_name = $val
           Retrieve or set the value of the specified field. This will throw an exception if the
           field does not exist.

           Note: The lvalue form "$prefix->$field_name = $val" breaks on perls older then 5.16.

       $thing = $prefix->build($class, @args)
           This will create an instance of $class passing the key/value pairs from the prefix as
           arguments. Additional arguments can be provided in @args.

       $hashref = $prefix->TO_JSON()
           This method allows settings to be serialized into JSON.

SOURCE

       The source code repository for Test2-Harness can be found at
       http://github.com/Test-More/Test2-Harness/.

MAINTAINERS

       Chad Granum <exodist@cpan.org>

AUTHORS

       Chad Granum <exodist@cpan.org>

COPYRIGHT

       Copyright 2020 Chad Granum <exodist7@gmail.com>.

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.

       See http://dev.perl.org/licenses/