Module: Aio::Base::Toolkit::Diff

Defined in:
lib/aio/base/toolkit/myers.rb,
lib/aio/base/toolkit/myers.rb

Defined Under Namespace

Classes: Edit, Line

Class Method Summary collapse

Class Method Details

.diff(cd, differ: Myers) ⇒ Object

CompareDiff



27
28
29
30
31
32
# File 'lib/aio/base/toolkit/myers.rb', line 27

def self.diff(cd, differ: Myers)
  differ.diff(
    lines(cd.content, cd.lines), 
    lines(cd.content_compare, cd.lines_compare)
  )
end

.empty_lineObject



22
23
24
# File 'lib/aio/base/toolkit/myers.rb', line 22

def self.empty_line
  Line.new(0, '', false)
end

.lines(document, lines) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/aio/base/toolkit/myers.rb', line 14

def self.lines(document, lines)
  # document = document.lines if document.is_a?(String)
  document.map.with_index do |text, i| 
    bool = lines.include?(i)
    Line.new(i + 1, text, bool)
  end
end