class RSpectre::SourceMap
Public Class Methods
parse(file)
click to toggle source
# File lib/rspectre/source_map.rb, line 12 def self.parse(file) self::Parser.new(file).populate(new) end
Private Class Methods
new()
click to toggle source
Calls superclass method
# File lib/rspectre/source_map.rb, line 7 def initialize super(Hash.new { [] }) end
Public Instance Methods
add(node)
click to toggle source
# File lib/rspectre/source_map.rb, line 16 def add(node) return unless node.loc.expression map[node.loc.first_line] <<= node end
find_method(target_selector, line)
click to toggle source
# File lib/rspectre/source_map.rb, line 22 def find_method(target_selector, line) block_nodes(line).select do |node| send, = *node _receiver, selector = *send selector.equal?(target_selector) end.first end
Private Instance Methods
block_nodes(line)
click to toggle source
# File lib/rspectre/source_map.rb, line 33 def block_nodes(line) map.fetch(line, []).select { |node| node.type.equal?(:block) } end