Module: OneshotCoverage

Defined in:
lib/oneshot_coverage.rb,
lib/oneshot_coverage/railtie.rb,
lib/oneshot_coverage/version.rb,
lib/oneshot_coverage/logger/file_logger.rb,
lib/oneshot_coverage/logger/null_logger.rb,
lib/oneshot_coverage/simplecov_reporter.rb,
lib/oneshot_coverage/logger/stdout_logger.rb

Defined Under Namespace

Modules: Logger Classes: Middleware, OneshotLog, Railtie, Reporter, SimplecovReporter

Constant Summary collapse

VERSION =
"0.4.1"

Class Method Summary collapse

Class Method Details

.configure(target_path:, logger: OneshotCoverage::Logger::NullLogger.new, coverage_module: Coverage, emit_term: nil, cover_bundle_path: false) ⇒ Object



134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/oneshot_coverage.rb', line 134

def configure(
  target_path:,
  logger: OneshotCoverage::Logger::NullLogger.new,
  coverage_module: Coverage,
  emit_term: nil,
  cover_bundle_path: false
)
  @reporter = OneshotCoverage::Reporter.new(
    coverage_module: coverage_module,
    target_path: Pathname.new(target_path).cleanpath.to_s + "/",
    logger: logger,
    emit_term: emit_term,
    cover_bundle_path: cover_bundle_path
  )
end

.emit(force_emit: false) ⇒ Object



130
131
132
# File 'lib/oneshot_coverage.rb', line 130

def emit(force_emit: false)
  @reporter&.emit(force_emit)
end

.startObject



121
122
123
124
125
126
127
128
# File 'lib/oneshot_coverage.rb', line 121

def start
  Coverage.start(oneshot_lines: true)

  # To handle execution with exit immediatly
  at_exit do
    OneshotCoverage.emit(force_emit: true)
  end
end