Class: Yeller::BacktraceFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/yeller/backtrace_filter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename_filters, method_filters) ⇒ BacktraceFilter

Returns a new instance of BacktraceFilter.



4
5
6
7
# File 'lib/yeller/backtrace_filter.rb', line 4

def initialize(filename_filters, method_filters)
  @filename_filters = filename_filters
  @method_filters = method_filters
end

Instance Attribute Details

#filename_filtersObject (readonly)

Returns the value of attribute filename_filters.



3
4
5
# File 'lib/yeller/backtrace_filter.rb', line 3

def filename_filters
  @filename_filters
end

#method_filtersObject (readonly)

Returns the value of attribute method_filters.



3
4
5
# File 'lib/yeller/backtrace_filter.rb', line 3

def method_filters
  @method_filters
end

Instance Method Details

#filter(trace) ⇒ Object



9
10
11
12
13
# File 'lib/yeller/backtrace_filter.rb', line 9

def filter(trace)
  trace.map do |frame|
    [filter_filename(frame[0]), frame[1], filter_method(frame[2])]
  end
end

#filter_filename(filename) ⇒ Object



15
16
17
18
19
20
# File 'lib/yeller/backtrace_filter.rb', line 15

def filter_filename(filename)
  filename_filters.each do |filter|
    filename.gsub!(filter[0], filter[1])
  end
  filename
end

#filter_method(method) ⇒ Object



22
23
24
25
26
27
# File 'lib/yeller/backtrace_filter.rb', line 22

def filter_method(method)
  method_filters.each do |filter|
    method.gsub!(filter[0], filter[1])
  end
  method
end