Class: Rails::BacktraceCleaner

Inherits:
ActiveSupport::BacktraceCleaner
  • Object
show all
Defined in:
lib/rails/backtrace_cleaner.rb

Constant Summary collapse

ERB_METHOD_SIG =
/:in `_run_erb_.*/
RAILS_GEMS =
%w( actionpack activerecord actionmailer activesupport activeresource rails )
VENDOR_DIRS =
%w( vendor/rails )
SERVER_DIRS =
%w( lib/mongrel bin/mongrel
lib/passenger bin/passenger-spawn-server
lib/rack )
RAILS_NOISE =
%w( script/server )
RUBY_NOISE =
%w( rubygems/custom_require benchmark.rb )
ALL_NOISE =
VENDOR_DIRS + SERVER_DIRS + RAILS_NOISE + RUBY_NOISE

Instance Method Summary collapse

Constructor Details

#initializeBacktraceCleaner

Returns a new instance of BacktraceCleaner.



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/rails/backtrace_cleaner.rb', line 16

def initialize
  super
  add_filter   { |line| line.sub("#{RAILS_ROOT}/", '') }
  add_filter   { |line| line.sub(ERB_METHOD_SIG, '') }
  add_filter   { |line| line.sub('./', '/') } # for tests

  add_gem_filters

  add_silencer { |line| ALL_NOISE.any? { |dir| line.include?(dir) } }
  add_silencer { |line| RAILS_GEMS.any? { |gem| line =~ /^#{gem} / } }
  add_silencer { |line| line =~ %r(vendor/plugins/[^\/]+/lib) }
end