class Differin::Diff

Attributes

engine[RW]

Getters/Setters

file1[RW]

Getters

file2[RW]

Getters

options[RW]

Getters

renderer[RW]

Getters/Setters

Public Class Methods

new(file1, file2) click to toggle source
# File lib/differin/diff.rb, line 7
def initialize(file1, file2)
  @file1 = Differin::File.new(file1)
  @file2 = Differin::File.new(file2)
end

Public Instance Methods

process(options_outer = {}) click to toggle source
# File lib/differin/diff.rb, line 12
def process(options_outer = {})
  load_options(options_outer)

  self.engine = options[:engine].new(self)
  engine.run

  self.renderer = options[:renderer].new(self)
  renderer.render
end
render(as = nil) click to toggle source
# File lib/differin/diff.rb, line 26
def render(as = nil)
  return renderer.render if as.nil?
  Differin.renderer_exists?(as) or fail Differin::InvalidRenderer

  renderer = as.new(self)
  renderer.render
end
result() click to toggle source
# File lib/differin/diff.rb, line 22
def result
  engine.result
end

Private Instance Methods

load_options(options_outer) click to toggle source
# File lib/differin/diff.rb, line 42
def load_options(options_outer)
  # noinspection RubyArgCount
  self.options = {
    engine: Differin::Engines::LCS,
    renderer: Differin::Renderers::Hash
  }.merge(options_outer)

  Differin.engine_exists?(options[:engine]) or fail Differin::InvalidEngine
  Differin.renderer_exists?(options[:renderer]) or fail Differin::InvalidRenderer
end