Class: Megatest::Backtrace
- Inherits:
-
Object
- Object
- Megatest::Backtrace
- Defined in:
- lib/megatest/backtrace.rb
Defined Under Namespace
Modules: InternalFilter, RelativePathCleaner
Instance Attribute Summary collapse
-
#filters ⇒ Object
Returns the value of attribute filters.
-
#formatters ⇒ Object
Returns the value of attribute formatters.
Instance Method Summary collapse
- #clean(backtrace) ⇒ Object
- #filter(backtrace) ⇒ Object
- #format(backtrace) ⇒ Object
- #full! ⇒ Object
-
#initialize ⇒ Backtrace
constructor
A new instance of Backtrace.
Constructor Details
#initialize ⇒ Backtrace
Returns a new instance of Backtrace.
30 31 32 33 34 |
# File 'lib/megatest/backtrace.rb', line 30 def initialize @filters = [InternalFilter] @formatters = [RelativePathCleaner] @full = false end |
Instance Attribute Details
#filters ⇒ Object
Returns the value of attribute filters.
28 29 30 |
# File 'lib/megatest/backtrace.rb', line 28 def filters @filters end |
#formatters ⇒ Object
Returns the value of attribute formatters.
28 29 30 |
# File 'lib/megatest/backtrace.rb', line 28 def formatters @formatters end |
Instance Method Details
#clean(backtrace) ⇒ Object
40 41 42 43 44 |
# File 'lib/megatest/backtrace.rb', line 40 def clean(backtrace) return backtrace if @full format(filter(backtrace)) end |
#filter(backtrace) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/megatest/backtrace.rb', line 46 def filter(backtrace) return backtrace if @full if backtrace filters.each do |filter| backtrace = filter.call(backtrace) end backtrace else [] end end |
#format(backtrace) ⇒ Object
59 60 61 62 63 64 65 66 67 68 |
# File 'lib/megatest/backtrace.rb', line 59 def format(backtrace) return backtrace if @full backtrace.map do |frame| formatters.each do |formatter| frame = formatter.call(frame) end frame end end |
#full! ⇒ Object
36 37 38 |
# File 'lib/megatest/backtrace.rb', line 36 def full! @full = true end |