class Remap::Rule::Block
Public Instance Methods
call(state)
click to toggle source
Represents a non-empty define block with one or more rules Calls every {#rules} with state and merges the output
@param state [State]
@return [State]
# File lib/remap/rule/block.rb, line 18 def call(state) init = state.except(:value) if rules.empty? return init end catch_fatal(init, backtrace) do |s1, fatal_id:| s2 = state.set(fatal_id: fatal_id) catch_ignored(s1) do |s3, id:| states = rules.map do |rule| rule.call(s2) end states.reduce(s3) do |s4, s5| s6 = s5.set(id: id) s4.combine(s6) end end end end