# File lib/ruote/svc/dollar_sub.rb, line 52 def s(text, flow_expression, workitem) if text.is_a?(String) literal_sub( Rufus.dsub(text, dict_class.new(flow_expression, workitem)), flow_expression, workitem) elsif text.is_a?(Array) text.collect { |e| s(e, flow_expression, workitem) } elsif text.is_a?(Hash) text.remap { |(k, v), h| h[s(k, flow_expression, workitem)] = s(v, flow_expression, workitem) } else text end end