diff --git a/lib/json_logic/operation.rb b/lib/json_logic/operation.rb index be8a972..5c43d80 100644 --- a/lib/json_logic/operation.rb +++ b/lib/json_logic/operation.rb @@ -78,9 +78,13 @@ class Operation v[1] end, 'if' => ->(v, d) { - v.each_slice(2) do |condition, value| + i = 0 + while i < v.length do + condition = v[i] + value = v[i+1] return condition if value.nil? return value if condition.truthy? + i += 2 end nil