NAME

Brick::Result::Item - The result from a single profile element

SYNOPSIS

use Brick;

my $result = $brick->apply( $Profile, $Input );

$result->explain;

DESCRIPTION

This class provides methods to turn the data structure returned by apply() into a useable form for particular situations.

new( HASH_REF )

Keys:

label    - the label for the item

method   - the responsible subroutine

result   - 1 | 0 | undef (See set_result)

messages - the error reference that comes back from the brick
get_label
set_label( STRING )

Get or set the label for the item. This is the label that the profile object used to mark the item. This joins the items in the results to the items in the profile.

get_method
set_method( STRING )

Get or set the method name responsible for the validation. When you need to track down the subroutine causing the problems, this should be it's name.

get_result
set_result( 1 | 0 | undef )

Get or set the result of the element. The result is one of three values depending on what happened:

1     - passed
0     - failed by validation
undef - failed by program error
get_messages
set_messages( HASH_REF )

Get or set the message hash for the errors.

passed

Returns true if the item passed validation.

failed

Returns true if the item failed validation. This ight mean that the validation fails or that there was a programming error. See is_validation_error and is_code_error.

is_validation_error

Returns true if the failure was the result of a validation error (so not a programming error).

is_code_error

Returns true if the failure was the result of a programming error (so not a validation error). In hash from get_messages will have a key program_error with the value of 1, and the message key will have the program error message.

TO DO

TBA

SEE ALSO

Brick::Profile

SOURCE AVAILABILITY

This source is in Github:

https://github.com/briandfoy/brick

AUTHOR

brian d foy, <bdfoy@cpan.org>

COPYRIGHT

Copyright © 2007-2022, brian d foy <bdfoy@cpan.org>. All rights reserved.

You may redistribute this under the terms of the Artistic License 2.0.