rclass stuff ripped out of everything but widget classes
[catagits/Reaction.git] / lib / Reaction / UI / ViewPort / Field / Mutable / DateTime.pm
index 654f0d8..27181f5 100644 (file)
@@ -4,25 +4,25 @@ use Reaction::Class;
 use Time::ParseDate;
 use DateTime;
 
-class 'Reaction::UI::ViewPort::Field::Mutable::DateTime',
-  is 'Reaction::UI::ViewPort::Field::DateTime', which {
-
-  does 'Reaction::UI::ViewPort::Field::Role::Mutable::Simple';
-
-  implements adopt_value_string => as {
-    my ($self) = @_;
-    my $value = $self->value_string;
-    my ($epoch) = Time::ParseDate::parsedate($value);
-    if (defined $epoch) {
-      my $dt = 'DateTime'->from_epoch( epoch => $epoch );
-      $self->value($dt);
-    } else {
-      $self->value($self->value_string);
-    }
-  };
-
+use namespace::clean -except => [ qw(meta) ];
+extends 'Reaction::UI::ViewPort::Field::DateTime';
+
+with 'Reaction::UI::ViewPort::Field::Role::Mutable::Simple';
+sub adopt_value_string {
+  my ($self) = @_;
+  my $value = $self->value_string;
+  my ($epoch) = Time::ParseDate::parsedate($value);
+  if (defined $epoch) {
+    my $dt = 'DateTime'->from_epoch( epoch => $epoch );
+    $self->value($dt);
+  } else {
+    $self->value($self->value_string);
+  }
 };
 
+__PACKAGE__->meta->make_immutable;
+
+
 1;