Sha256: d9b42ad0e71f70959a4a4785e859ac92dcbc603fe3929cb3f7e1911500e2c15a

Contents?: true

Size: 670 Bytes

Versions: 5

Compression:

Stored size: 670 Bytes

Contents

# frozen_string_literal: true

module Airbrake
  module Rails
    # BacktraceCleaner is a wrapper around Rails.backtrace_cleaner.
    class BacktraceCleaner
      # @return [Regexp]
      AIRBRAKE_FRAME_PATTERN = %r{/airbrake/lib/airbrake/}

      def self.clean(backtrace)
        ::Rails.backtrace_cleaner.clean(backtrace).first(1)
      end
    end
  end
end

if defined?(Rails)
  # Silence own frames to let the cleaner proceed to the next line (and probably
  # find the correct call-site coming from the app code rather this library).
  Rails.backtrace_cleaner.add_silencer do |line|
    line =~ Airbrake::Rails::BacktraceCleaner::AIRBRAKE_FRAME_PATTERN
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
airbrake-10.0.6 lib/airbrake/rails/backtrace_cleaner.rb
airbrake-10.1.0.rc.1 lib/airbrake/rails/backtrace_cleaner.rb
airbrake-10.0.5 lib/airbrake/rails/backtrace_cleaner.rb
airbrake-10.0.4 lib/airbrake/rails/backtrace_cleaner.rb
airbrake-10.0.3 lib/airbrake/rails/backtrace_cleaner.rb