observers
[scpubgit/DKit.git] / lib / DX / Solver.pm
index 05523ec..c425b27 100644 (file)
@@ -12,6 +12,8 @@ has rule_set => (is => 'lazy', handles => [ 'add_rule' ], builder => sub {
 
 has facts => (is => 'ro', required => 1);
 
+has observation_policy => (is => 'ro');
+
 sub query {
   my ($self, $vars, @terms) = @_;
   my $rule_set = $self->rule_set;
@@ -27,7 +29,10 @@ sub query {
     rule_set => $rule_set,
   )->assign_vars(map +($_ => {}), @$vars);
   return DX::ResultStream->new(
-    for_state => $state
+    for_state => $state,
+    ($self->observation_policy
+      ? (observation_policy => $self->observation_policy)
+      : ()),
   );
 }