make default handling respect predicate when attr is not lazy build
matthewt [Wed, 23 Jan 2008 03:54:44 +0000 (03:54 +0000)]
lib/Reaction/UI/ViewPort/Field.pm

index c1c35c8..0da4838 100644 (file)
@@ -28,13 +28,16 @@ class Field is 'Reaction::UI::ViewPort', which {
     my ($self) = @_;
     my $reader = $self->attribute->get_read_method;
     my $predicate = $self->attribute->predicate;
-    #this is bound to blow the fuck if !model->$predicate what to do?
-    return $self->model->$reader ; #if (!$predicate || $self->model->$predicate);
 
-    print STDERR "weird!\n";
-    return;
+    if (!$predicate || $self->model->$predicate
+        || $self->attribute->is_lazy_build) {
+      return $self->model->$reader;
+    }
+    return $self->_empty_value;
   };
 
+  implements _empty_value => as { '' };
+
 };
 
 1;