# A much simpler source line cacher because linecache sucks at platform compat module Raven class LineCache class << self CACHE = {} def is_valid_file(path) lines = getlines(path) !lines.nil? end def getlines(path) CACHE[path] ||= begin IO.readlines(path) rescue nil end end def getline(path, n) return nil if n < 1 lines = getlines(path) return nil if lines.nil? lines[n - 1] end end end end