Class: Raven::LineCache
- Inherits:
-
Object
- Object
- Raven::LineCache
- Defined in:
- lib/raven/linecache.rb
Instance Method Summary collapse
-
#get_file_context(filename, lineno, context) ⇒ Object
Any linecache you provide to Raven must implement this method.
-
#initialize ⇒ LineCache
constructor
A new instance of LineCache.
Constructor Details
#initialize ⇒ LineCache
Returns a new instance of LineCache.
3 4 5 |
# File 'lib/raven/linecache.rb', line 3 def initialize @cache = {} end |
Instance Method Details
#get_file_context(filename, lineno, context) ⇒ Object
Any linecache you provide to Raven must implement this method. Returns an Array of Strings representing the lines in the source file. The number of lines retrieved is (2 * context) + 1, the middle line should be the line requested by lineno. See specs for more information.
11 12 13 14 15 16 17 |
# File 'lib/raven/linecache.rb', line 11 def get_file_context(filename, lineno, context) return nil, nil, nil unless valid_path?(filename) lines = Array.new(2 * context + 1) do |i| getline(filename, lineno - context + i) end [lines[0..(context - 1)], lines[context], lines[(context + 1)..-1]] end |