Module: NanDoc::SpecDoc::ParseTrace

Included in:
TestCaseAgent
Defined in:
lib/nandoc/spec-doc/support-modules.rb

Instance Method Summary collapse

Instance Method Details

#parse_traceRegexp

Returns enhanced regex that parses a stack trace line.

Returns:

  • (Regexp)

    enhanced regex that parses a stack trace line



90
91
92
93
94
95
96
# File 'lib/nandoc/spec-doc/support-modules.rb', line 90

def parse_trace
  @parse_trace_re ||= begin
    re = /\A(.*):(\d+)(?::in `([^']+)')?\Z/
    RegexpEnhance.names(re, :file, :line, :method)
    re
  end
end

#parse_trace_assert(line) ⇒ Object



97
98
99
100
101
102
103
104
# File 'lib/nandoc/spec-doc/support-modules.rb', line 97

def parse_trace_assert line
  md = parse_trace.match(line) or
    fail("couldn't parse trace line: #{line}")
  h = md.to_hash
  /\A\d+\Z/ =~ h[:line] or fail("not line: #{h[:line]}.inspect")
  h[:line] = h[:line].to_i
  h
end