NAME
Form::Factory::Feature::Role::InitializeControl - control features that work on just constructed controls
VERSION
version 0.022
SYNOPSIS
package MyApp::Feature::Control::LoadDBValue;
use Moose;
with qw(
Form::Factory::Feature
Form::Factory::Feature::Role::Control
Form::Factory::Feature::Role::InitializeControl
);
sub check_control {
my ($self, $control) = @_;
# nasty ducks and they typings
die "control action has no record"
unless $control->action->can('record');
}
sub initialize_control {
my $self = shift;
my $action = $self->action;
my $control = $self->control;
my $name = $control->name;
my $record = $action->record;
# Set the default value from the record value
$control->default_value( $record->$name );
}
package Form::Factory::Feature::Control::Custom::LoadDatabaseValue;
sub register_implementation { 'MyApp::Feature::Control::LoadDBValue' }
DESCRIPTION
This role may be implemented by a control feature that needs to access a control and do something with it immediately after the control has been completely constructed.
The feature must implement the initialize_control
method.
ROLE METHODS
initialize_control
This method is called on the feature immediately after the control has been completely constructed. This method is called with no arguments and the return value is ignored.
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.