move recheck to post-all-actions rather than per-action
Matt S Trout [Sun, 26 Jun 2016 17:33:48 +0000 (17:33 +0000)]
lib/DX/Hypothesis.pm

index db9364f..0386cd0 100644 (file)
@@ -24,13 +24,14 @@ has action_policy => (is => 'ro', isa => ActionPolicy, required => 1);
 sub with_actions {
   my ($self, @actions) = @_;
   my $hyp = $self;
+  my @events;
   foreach my $act (@actions) {
     return undef unless $self->action_policy->allows($act);
-    ($hyp, my @events) = $act->dry_run($hyp);
-    return undef unless $hyp;
-    $hyp = $hyp->but_recheck_for(@events);
+    ($hyp, my @these_events) = $act->dry_run($hyp);
     return undef unless $hyp;
+    push @events, @these_events;
   }
+  $hyp = $hyp->but_recheck_for(@events);
   return $hyp;
 }