class RSpecKneesAndToes::ProcessLinesBetweenLoggedSeeds

Attributes

failing_seeds[R]

Public Class Methods

new() click to toggle source
# File lib/process_lines_between_logged_seeds.rb, line 7
def initialize
  @current_seed = nil
end

Public Instance Methods

process_file(file_lines) { |line, seed| ... } click to toggle source
# File lib/process_lines_between_logged_seeds.rb, line 11
def process_file(file_lines)
  reset

  file_lines.each do |line|
    process_log_line(line) do |seed|
      yield line, seed if seed
    end
  end
end

Private Instance Methods

get_seed_if_seed_line(line) click to toggle source
# File lib/process_lines_between_logged_seeds.rb, line 39
def get_seed_if_seed_line(line)
  match = /Randomized with seed (?<seed>\d*)/.match(line)
  match && match[:seed]
end
process_log_line(line) { |current_seed| ... } click to toggle source
# File lib/process_lines_between_logged_seeds.rb, line 27
def process_log_line(line)
  seed = get_seed_if_seed_line(line)

  if seed && !@current_seed
    @current_seed = seed
  elsif seed && @current_seed == seed
    @current_seed = nil
  else
    yield @current_seed
  end
end
reset() click to toggle source
# File lib/process_lines_between_logged_seeds.rb, line 23
def reset
  @current_seed = nil
end