15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/rib/more/caller.rb', line 15
def display_backtrace raw_backtrace, *filters
backtrace = Rib.shell.format_backtrace(raw_backtrace)
lib = %r{\brib-#{Rib::VERSION}/lib/rib/}
if backtrace.first =~ lib
backtrace.shift while backtrace.first =~ lib
elsif backtrace.last =~ lib
backtrace.pop while backtrace.last =~ lib
end
result = filters.map do |f|
case f
when Regexp
f
when String
%r{\bgems/#{Regexp.escape(f)}\-[\d\.]+/lib/}
end
end.inject(backtrace, &:grep_v)
Rib.shell.puts result.map{ |l| " #{l}" }.join("\n")
Rib::Skip
end
|