class Coverband::AtExit

Public Class Methods

register() click to toggle source
# File lib/coverband/at_exit.rb, line 8
def self.register
  return if ENV["COVERBAND_DISABLE_AT_EXIT"]
  return if @at_exit_registered

  @semaphore.synchronize do
    return if @at_exit_registered

    @at_exit_registered = true
    at_exit do
      ::Coverband::Background.stop

      if !Coverband.configuration.report_on_exit
        # skip reporting
      else
        Coverband.report_coverage
        # to ensure we track mailer views we now need to report views tracking
        # at exit as well for rake tasks and background tasks that can trigger email
        Coverband.configuration.view_tracker&.report_views_tracked
      end
    end
  end
end