Sha256: 77786244935543653612aaac2527e21d3b65f95788e62ee28e0aa381b4a88fac
Contents?: true
Size: 839 Bytes
Versions: 41
Compression:
Stored size: 839 Bytes
Contents
module OrigenTesters::ATP module Processors # Removes any conditions nodes that are nested within other condition # nodes that specify the same condition class RedundantConditionRemover < Processor def run(node) @conditions = [] process(node) end def on_condition_node(node) sig = [node.type, node.to_a[0]] if @conditions.include?(sig) flag, *nodes = *node node.updated(:inline, process_all(nodes)) else @conditions << sig node = node.updated(nil, process_all(node.children)) @conditions.pop node end end OrigenTesters::ATP::Flow::CONDITION_NODE_TYPES.each do |type| alias_method "on_#{type}", :on_condition_node unless method_defined?("on_#{type}") end end end end
Version data entries
41 entries across 41 versions & 1 rubygems