123456789_123456789_123456789_123456789_123456789_

Class: Rails::BacktraceCleaner

Do not use. This class is for internal use only.
Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: ActiveSupport::BacktraceCleaner
Defined in: railties/lib/rails/backtrace_cleaner.rb

Constant Summary

::ActiveSupport::BacktraceCleaner - Inherited

FORMATTED_GEMS_PATTERN

Class Method Summary

Instance Method Summary

::ActiveSupport::BacktraceCleaner - Inherited

#add_filter

Adds a filter from the block provided.

#add_silencer

Adds a silencer from the block provided.

#clean

Returns the backtrace after all filters and silencers have been run against it.

#clean_frame

Returns the frame with all filters applied.

#filter
#remove_filters!

Removes all filters, but leaves in the silencers.

#remove_silencers!

Removes all silencers, but leaves in the filters.

#add_core_silencer, #add_gem_filter, #add_gem_silencer, #add_stdlib_silencer, #filter_backtrace, #noise, #silence

Constructor Details

.newBacktraceCleaner

[ GitHub ]

  
# File 'railties/lib/rails/backtrace_cleaner.rb', line 11

def initialize
  super
  add_filter do |line|
    # We may be called before Rails.root is assigned.
    # When that happens we fallback to not truncating.
    @root ||= Rails.root && "#{Rails.root}/"
    @root && line.start_with?(@root) ? line.from(@root.size) : line
  end
  add_filter do |line|
    if RENDER_TEMPLATE_PATTERN.match?(line)
      line.sub(RENDER_TEMPLATE_PATTERN, "")
    else
      line
    end
  end
  add_silencer { |line| !APP_DIRS_PATTERN.match?(line) }
end