class Assert::Result::Backtrace

Constants

DELIM

Public Class Methods

new(value = nil) click to toggle source
Calls superclass method
# File lib/assert/result.rb, line 308
def initialize(value = nil)
  super([*(value || "No backtrace")])
end
parse(bt) click to toggle source
# File lib/assert/result.rb, line 300
def self.parse(bt)
  new(bt.to_s.split(DELIM))
end
to_s(bt_array) click to toggle source
# File lib/assert/result.rb, line 304
def self.to_s(bt_array)
  bt_array.join(DELIM)
end

Public Instance Methods

filtered() click to toggle source
# File lib/assert/result.rb, line 312
def filtered
  self.class.new(reject{ |line| filter_out?(line.to_s) })
end

Protected Instance Methods

filter_out?(line) click to toggle source

filter a line out if it’s an Assert lib/bin line

# File lib/assert/result.rb, line 319
def filter_out?(line)
  # "./lib" in project dir, or "/usr/local/blahblah" if installed
  assert_lib_path    = File.expand_path("../..", __FILE__)
  assert_macros_path = File.join(assert_lib_path, "assert/macros")
  assert_bin_regex = %r{bin/assert\:}
  (line.rindex(assert_lib_path, 0) &&
    !line.rindex(assert_macros_path, 0)
  ) ||
  line =~ assert_bin_regex
end