Class: SnapDiff::BacktraceFilter
- Inherits:
-
Object
- Object
- SnapDiff::BacktraceFilter
- Defined in:
- lib/snap_diff/error_with_filtered_backtrace.rb
Constant Summary collapse
- LIB_DIRECTORY =
File.(File.join(File.dirname(__FILE__), "..")) + File::SEPARATOR
Instance Method Summary collapse
-
#filtered(backtrace) ⇒ Array<String>
Filters out any backtrace lines originating from the library directory or from gems such as ActiveSupport, Minitest, and Railties.
-
#initialize(lib_directory = LIB_DIRECTORY) ⇒ BacktraceFilter
constructor
A new instance of BacktraceFilter.
Constructor Details
#initialize(lib_directory = LIB_DIRECTORY) ⇒ BacktraceFilter
Returns a new instance of BacktraceFilter.
7 8 9 10 11 |
# File 'lib/snap_diff/error_with_filtered_backtrace.rb', line 7 def initialize(lib_directory = LIB_DIRECTORY) # Trailing separator keeps the prefix match on a directory boundary, # so "/app/lib" does not also reject "/app/library". @lib_directory = lib_directory.end_with?(File::SEPARATOR) ? lib_directory : lib_directory + File::SEPARATOR end |
Instance Method Details
#filtered(backtrace) ⇒ Array<String>
Filters out any backtrace lines originating from the library directory or from gems such as ActiveSupport, Minitest, and Railties
16 17 18 19 20 |
# File 'lib/snap_diff/error_with_filtered_backtrace.rb', line 16 def filtered(backtrace) backtrace .reject { |location| File.(location).start_with?(@lib_directory) } .reject { |l| l =~ /gems\/(activesupport|minitest|railties)/ } end |