Class: Coverband::Collectors::Coverage
- Inherits:
-
Object
- Object
- Coverband::Collectors::Coverage
- Includes:
- Singleton
- Defined in:
- lib/coverband/collectors/coverage.rb
Overview
StandardError seems like be better option coverband previously had RuntimeError here but runtime error can let a large number of error crash this method and this method is currently in a ensure block in middleware and threads
Instance Method Summary collapse
- #eager_loading ⇒ Object
- #eager_loading! ⇒ Object
- #report_coverage ⇒ Object
- #reset_instance ⇒ Object
- #runtime! ⇒ Object
- #toggle_eager_loading ⇒ Object
Instance Method Details
#eager_loading ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/coverband/collectors/coverage.rb', line 36 def eager_loading old_coverage_type = @store.type eager_loading! yield ensure report_coverage @store.type = old_coverage_type end |
#eager_loading! ⇒ Object
32 33 34 |
# File 'lib/coverband/collectors/coverage.rb', line 32 def eager_loading! @store.type = Coverband::EAGER_TYPE end |
#report_coverage ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/coverband/collectors/coverage.rb', line 53 def report_coverage @semaphore.synchronize do raise "no Coverband store set" unless @store files_with_line_usage = filtered_files(Delta.results) if @store.type == Coverband::EAGER_TYPE && Coverband.configuration.defer_eager_loading_data? @deferred_eager_loading_data = files_with_line_usage else if @deferred_eager_loading_data && Coverband.configuration.defer_eager_loading_data? toggle_eager_loading do @store.save_report(@deferred_eager_loading_data) if Coverband.configuration.send_deferred_eager_loading_data? @deferred_eager_loading_data = nil end end @store.save_report(files_with_line_usage) end end rescue => e @logger&.error "coverage failed to store" @logger&.error "Coverband Error: #{e.inspect} #{e.}" e.backtrace.each { |line| @logger&.error line } if @verbose raise e if @test_env end |
#reset_instance ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/coverband/collectors/coverage.rb', line 17 def reset_instance @project_directory = File.(Coverband.configuration.root) @ignore_patterns = Coverband.configuration.ignore @store = Coverband.configuration.store @verbose = Coverband.configuration.verbose @logger = Coverband.configuration.logger @test_env = Coverband.configuration.test_env Delta.reset self end |
#runtime! ⇒ Object
28 29 30 |
# File 'lib/coverband/collectors/coverage.rb', line 28 def runtime! @store.type = Coverband::RUNTIME_TYPE end |
#toggle_eager_loading ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/coverband/collectors/coverage.rb', line 45 def toggle_eager_loading old_coverage_type = @store.type eager_loading! yield ensure @store.type = old_coverage_type end |