class Markdiff::Operations::TextDiffOperation
Public Class Methods
new(after_node:, **args)
click to toggle source
@param [Nokogiri::XML::Node] after_node
Calls superclass method
Markdiff::Operations::Base::new
# File lib/markdiff/operations/text_diff_operation.rb, line 9 def initialize(after_node:, **args) super(**args) @after_node = after_node end
Public Instance Methods
inserted_node()
click to toggle source
@return [Nokogiri::XML::Node]
# File lib/markdiff/operations/text_diff_operation.rb, line 15 def inserted_node before_elements = target_node.to_s.split(" ") after_elements = @after_node.to_s.split(" ") ::Diff::LCS.diff(before_elements, after_elements).flatten(1).each do |operation| type, position, element = *operation if type == "-" before_elements[position] = %(<del class="del">#{element}</del>) else before_elements[position] = "#{before_elements[position]}<ins>#{element}</ins>" end end ::Nokogiri::HTML.fragment(before_elements.join(" ")) end
priority()
click to toggle source
# File lib/markdiff/operations/text_diff_operation.rb, line 29 def priority 1 end