Module: SiteDiff::Diff
- Defined in:
- lib/sitediff/diff.rb
Class Method Summary collapse
- .binary_diffy(before, after, before_encoding, after_encoding) ⇒ Object
- .css ⇒ Object
- .encoding_blurb(encoding) ⇒ Object
- .generate_diff_output(result) ⇒ Object
- .generate_html_report(results, before, after, cache) ⇒ Object
- .html_diffy(before_html, after_html) ⇒ Object
- .terminal_diffy(before_html, after_html) ⇒ Object
Class Method Details
.binary_diffy(before, after, before_encoding, after_encoding) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/sitediff/diff.rb', line 27 def binary_diffy(before, after, before_encoding, after_encoding) if before_encoding || after_encoding Diffy::Diff.new(encoding_blurb(before_encoding), encoding_blurb(after_encoding)).to_s(:html) elsif before == after nil else md5_before = Digest::MD5.hexdigest(before) md5_after = Digest::MD5.hexdigest(after) Diffy::Diff.new("Binary content returned md5: #{md5_before}", "Binary content returned md5: #{md5_after}").to_s(:html) end end |
.css ⇒ Object
59 60 61 |
# File 'lib/sitediff/diff.rb', line 59 def css File.read(File.join(SiteDiff::FILES_DIR, 'sitediff.css')) end |
.encoding_blurb(encoding) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/sitediff/diff.rb', line 19 def encoding_blurb(encoding) if encoding "Text content returned - charset #{encoding}" else 'Binary content returned' end end |
.generate_diff_output(result) ⇒ Object
54 55 56 57 |
# File 'lib/sitediff/diff.rb', line 54 def generate_diff_output(result) erb_path = File.join(SiteDiff::FILES_DIR, 'diff.html.erb') ERB.new(File.read(erb_path)).result(binding) end |
.generate_html_report(results, before, after, cache) ⇒ Object
48 49 50 51 52 |
# File 'lib/sitediff/diff.rb', line 48 def generate_html_report(results, before, after, cache) erb_path = File.join(SiteDiff::FILES_DIR, 'html_report.html.erb') report_html = ERB.new(File.read(erb_path)).result(binding) report_html end |
.html_diffy(before_html, after_html) ⇒ Object
13 14 15 16 17 |
# File 'lib/sitediff/diff.rb', line 13 def html_diffy(before_html, after_html) diff = Diffy::Diff.new(before_html, after_html) diff.first ? # Is it non-empty? diff.to_s(:html) : nil end |
.terminal_diffy(before_html, after_html) ⇒ Object
41 42 43 44 45 46 |
# File 'lib/sitediff/diff.rb', line 41 def terminal_diffy(before_html, after_html) args = [] args << :color if Rainbow.enabled Diffy::Diff.new(before_html, after_html, context: 3) .to_s(*args) end |