Provided by: libtest2-harness-perl_1.000147-1_all
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/