aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Reaction/UI/ViewPort/Field/Mutable/Boolean.pm
blob: 1b2502302e74fe4fee29abe2a7f17405100256c9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package Reaction::UI::ViewPort::Field::Mutable::Boolean;

use Reaction::Class;

use namespace::clean -except => [ qw(meta) ];
extends 'Reaction::UI::ViewPort::Field::Boolean';

with 'Reaction::UI::ViewPort::Field::Role::Mutable::Simple';
sub adopt_value_string {
  my ($self) = @_;
  $self->value($self->value_string||0);
};
sub BUILD {
  my($self) = @_;
  $self->value(0) unless $self->_model_has_value;
};

# yeah, bool fields have to always be required
# otherwise we ever cant get false
# for reference, take a peek in Field::Role::Mutable::Simple's
# is_modified logic
sub value_is_required { 1 }

__PACKAGE__->meta->make_immutable;


1;