Method: FilterTable::Trace.to_ruby

Defined in:
lib/inspec/utils/filter.rb

.to_ruby(trace) ⇒ Object



74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/inspec/utils/filter.rb', line 74

def self.to_ruby(trace)
  chain = trace.instance_variable_get(:@chain)
  return "" if chain.empty?

  " " + chain.map do |el|
    m = el[0][0]
    args = el[0].drop(1)
    nxt = to_ruby(el[1])
    next m.to_s + nxt if args.empty?
    next m.to_s + " " + args[0].inspect + nxt if args.length == 1

    m.to_s + "(" + args.map(&:inspect).join(", ") + ")" + nxt
  end.join(" ")
end