Module: WhoCalledMe::Utils::TraceUtils
- Defined in:
- lib/who_called_me/utils/trace_utils.rb
Instance Method Summary collapse
- #formatted_trace(trace, processed_first_lines) ⇒ Object
- #fulltrace ⇒ Object
- #indented_call_trace(trace, base_padding = ' ') ⇒ Object
Instance Method Details
#formatted_trace(trace, processed_first_lines) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/who_called_me/utils/trace_utils.rb', line 11 def formatted_trace(trace, processed_first_lines) first_line, last_line = trace.first, trace.last already_recorded_a_trace_for_this_target = processed_first_lines.include?(first_line) trace.shift res = [] res << "\n" unless already_recorded_a_trace_for_this_target processed_first_lines << first_line short_form = already_recorded_a_trace_for_this_target res += boxed_code_snippet_around(first_line) unless short_form end res << ' was called by :' res += indented_call_trace(trace) res += indent(boxed_code_snippet_around(last_line), :prefix => ' '*6) res end |
#fulltrace ⇒ Object
5 6 7 8 9 |
# File 'lib/who_called_me/utils/trace_utils.rb', line 5 def fulltrace raise rescue $!.backtrace end |
#indented_call_trace(trace, base_padding = ' ') ⇒ Object
30 31 32 33 34 35 |
# File 'lib/who_called_me/utils/trace_utils.rb', line 30 def indented_call_trace(trace, base_padding=' ') padding = '' [].tap do |indented_trace| trace.each_with_index { |line, i| indented_trace << " . #{base_padding*i}#{line}" } end end |