Class: OneshotCoverage::Reporter
- Inherits:
-
Object
- Object
- OneshotCoverage::Reporter
- Defined in:
- lib/oneshot_coverage.rb
Instance Method Summary collapse
- #emit(force_emit) ⇒ Object
-
#initialize(coverage_module:, target_path:, logger:, emit_term: nil, cover_bundle_path: false) ⇒ Reporter
constructor
A new instance of Reporter.
Constructor Details
#initialize(coverage_module:, target_path:, logger:, emit_term: nil, cover_bundle_path: false) ⇒ Reporter
Returns a new instance of Reporter.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/oneshot_coverage.rb', line 25 def initialize( coverage_module:, target_path:, logger:, emit_term: nil, cover_bundle_path: false ) @coverage_module = coverage_module @target_path = target_path @logger = logger @emit_term = emit_term if @emit_term @next_emit_time = Time.now.to_i + rand(@emit_term) end if defined?(Bundler) @bundler_path = Bundler.bundle_path.to_s @cover_bundle_path = cover_bundle_path end end |
Instance Method Details
#emit(force_emit) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/oneshot_coverage.rb', line 46 def emit(force_emit) if !force_emit if !time_to_emit? return end end logs = @coverage_module.result(clear: true, stop: false). select { |k, v| is_target?(k, v) }. map do |filepath, v| formatted_path = format_filepath(filepath) OneshotLog.new(format_filepath(filepath), md5_hash_for(filepath), v[:oneshot_lines]) end if logs.size > 0 @logger.post(logs) end end |