Class: Kaisoku::CoverageCollector
- Inherits:
-
Object
- Object
- Kaisoku::CoverageCollector
- Defined in:
- lib/kaisoku/coverage_collector.rb
Defined Under Namespace
Classes: Result
Instance Method Summary collapse
- #finish_entity ⇒ Object
-
#initialize(configuration: Configuration.new, checksum: Checksum.new) ⇒ CoverageCollector
constructor
A new instance of CoverageCollector.
- #start_entity ⇒ Object
Constructor Details
#initialize(configuration: Configuration.new, checksum: Checksum.new) ⇒ CoverageCollector
Returns a new instance of CoverageCollector.
13 14 15 16 17 18 19 20 21 |
# File 'lib/kaisoku/coverage_collector.rb', line 13 def initialize(configuration: Configuration.new, checksum: Checksum.new) @configuration = configuration @checksum = checksum @method_map = MethodMap.new(configuration: configuration) @started_by_collector = false @loaded_features_before = [] @conflict_reason = nil @environment_tracker = EnvironmentTracker.new end |
Instance Method Details
#finish_entity ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/kaisoku/coverage_collector.rb', line 39 def finish_entity return Result.new(dependencies: {}, skipped: true, reason: @conflict_reason) if @conflict_reason coverage = Coverage.result(stop: false, clear: true) coverage_files = coverage.keys loaded_files = $LOADED_FEATURES - @loaded_features_before files = (coverage_files + loaded_files).uniq deps = dependency_checksums(files) deps.merge!(method_dependency_checksums(coverage)) deps[EnvironmentTracker::DEPENDENCY_KEY] = @environment_tracker.dependency.last if @environment_tracker.changed? Result.new(dependencies: deps, skipped: false, reason: nil) end |
#start_entity ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/kaisoku/coverage_collector.rb', line 23 def start_entity @loaded_features_before = $LOADED_FEATURES.dup @conflict_reason = nil @environment_tracker = EnvironmentTracker.new if Coverage.running? && !@started_by_collector @conflict_reason = 'Coverage is already running; map update skipped' return end return if @started_by_collector Coverage.start(oneshot_lines: true) @started_by_collector = true end |