NAME
Form::Factory::Feature::Role::ControlValueConverter - form features that convert values
VERSION
version 0.022
SYNOPSIS
package
MyApp::Feature::Control::Integer;
use
Moose;
with
qw(
Form::Factory::Feature::Role::ControlValueConverter
)
;
sub
check_control {
my
(
$self
,
$cotnrol
) =
@_
;
die
"not a scalar valued control"
unless
$control
->does(
'Form::Factory::Control::Role::ScalarValue'
);
}
sub
control_to_value {
my
(
$self
,
$value
) =
@_
;
return
int
(
$value
);
}
sub
value_to_control {
my
(
$self
,
$value
) =
@_
;
return
''
.
$value
;
}
DESCRIPTION
This role is used to provide standard value convertions between control values and action attributes. This allows you to reuse a common conversion by creating a feature to handle it.
Use of this role implies Form::Factory::Feature::Role::Control.
ROLE METHODS
The feature implementing this role must provide these methods.
control_to_value
This method is used to convert a value on a control for use in assignment to the action attribute to which it is attached.
This method should be defined like so:
sub
control_to_value {
my
(
$self
,
$value
) =
@_
;
return
# ... converted value ...
}
The $value
here will be teh value to convert. This is usually going to be the current_value
of the control, but might be something else, so make sure you use the given value for conversion.
value_to_control
This method does the reverse of control_to_value
and is used to convert the action attribute to the control value.
It is defined like this:
sub
value_to_control {
my
(
$self
,
$value
) =
@_
;
return
# ... converted value ...
}
The $value
here will be a value from the action attribute (or something of the same type) and the value returned should be appropriate for assigning to the control value.
AUTHOR
Andrew Sterling Hanenkamp <hanenkamp@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by Qubling Software LLC.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.