class NodeTextifier

Public Class Methods

new(content) click to toggle source
# File lib/rails5/spec_converter/node_textifier.rb, line 2
def initialize(content)
  @content = content
end

Public Instance Methods

node_to_string(node) click to toggle source
# File lib/rails5/spec_converter/node_textifier.rb, line 25
def node_to_string(node)
  @content[node.loc.expression.begin_pos...node.loc.expression.end_pos]
end
text_after_last_pair(hash_node) click to toggle source
# File lib/rails5/spec_converter/node_textifier.rb, line 10
def text_after_last_pair(hash_node)
  @content[hash_node.children.last.loc.expression.end_pos...hash_node.loc.expression.end_pos]
end
text_before_first_pair(hash_node) click to toggle source
# File lib/rails5/spec_converter/node_textifier.rb, line 6
def text_before_first_pair(hash_node)
  @content[hash_node.loc.expression.begin_pos...hash_node.children.first.loc.expression.begin_pos]
end
text_before_node(node) click to toggle source
# File lib/rails5/spec_converter/node_textifier.rb, line 14
def text_before_node(node)
  previous_sibling = node.parent.children[node.sibling_index - 1]
  return nil unless previous_sibling.loc.expression

  text_between_siblings(previous_sibling, node)
end
text_between_siblings(node1, node2) click to toggle source
# File lib/rails5/spec_converter/node_textifier.rb, line 21
def text_between_siblings(node1, node2)
  @content[node1.loc.expression.end_pos...node2.loc.expression.begin_pos]
end