Sha256: be744a2bc0a4255d01307eb1c77929da4f4e256996364d33f4957b1e14604788

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

module Cucover
  class Recorder
    def initialize(scenario_or_table_row)
      @scenario_or_table_row = scenario_or_table_row
      @analyzer = Rcov::CodeCoverageAnalyzer.new
      @additional_covered_files = []
    end

    def record_file!(source_file)
      unless @additional_covered_files.include?(source_file)
        @additional_covered_files << source_file
      end
    end
  
    def start!
      @start_time = Time.now
      @analyzer.install_hook
    end

    def stop!
      @end_time = Time.now
      @analyzer.remove_hook
      Cucover.logger.info("Finished recording #{@scenario_or_table_row.file_colon_line}.")
      Cucover.logger.debug("Covered files: #{@analyzer.analyzed_files.join(',')}")
      Cucover.logger.debug("Additional Covered files: #{@additional_covered_files.join(',')}")
    end
  
    def recording
      Recording.new(
        @scenario_or_table_row.file_colon_line, 
        @scenario_or_table_row.exception,
        @additional_covered_files, 
        @analyzer, 
        @start_time, @end_time)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mattwynne-cucover-0.1.0 lib/cucover/recorder.rb
mattwynne-cucover-0.1.1 lib/cucover/recorder.rb