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