Class: PublishingPlatformNokodiff::Differ

Inherits:
Object
  • Object
show all
Defined in:
lib/publishing_platform_nokodiff/differ.rb

Instance Method Summary collapse

Constructor Details

#initialize(before, after) ⇒ Differ

Returns a new instance of Differ.



3
4
5
6
# File 'lib/publishing_platform_nokodiff/differ.rb', line 3

def initialize(before, after)
  @before = before
  @after = after
end

Instance Method Details

#to_htmlObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/publishing_platform_nokodiff/differ.rb', line 8

def to_html
  compared_blocks.map { |diff|
    case diff[:status]
    when :unchanged
      unchanged_block(diff[:before])
    when :changed
      changed_block(diff[:before], diff[:after])
    when :deleted
      diff[:before].name == "li" ? deleted_li(diff[:before]) : deleted_block(diff[:before])
    when :added
      diff[:after].name == "li" ? added_li(diff[:after]) : added_block(diff[:after])
    end
  }.join("\n")
end