Module: BuildLogParser::RspecMatcher

Included in:
Parser
Defined in:
lib/build_log_parser/matchers/rspec_matcher.rb

Constant Summary collapse

RSPEC_PATTERN =
/^([\d]+) examples, ([\d]+) failures(, ([\d]+) pending)?/m

Instance Method Summary collapse

Instance Method Details

#fetch_rspec_stats(str) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/build_log_parser/matchers/rspec_matcher.rb', line 5

def fetch_rspec_stats(str)
  matches = str.scan(RSPEC_PATTERN)
  return if matches.empty?

  result = { count: 0, failures: 0, pending: 0 }

  matches.each do |m|
    result[:count]    += m[0].to_i if m[0] # examples
    result[:failures] += m[1].to_i if m[1] # failures
    result[:pending]  += m[3].to_i if m[3] # pending
  end

  result
end