class SuperDiff::OperationTreeBuilders::Array

Public Class Methods

applies_to?(expected, actual) click to toggle source
# File lib/super_diff/operation_tree_builders/array.rb, line 4
def self.applies_to?(expected, actual)
  expected.is_a?(::Array) && actual.is_a?(::Array)
end

Public Instance Methods

call() click to toggle source
# File lib/super_diff/operation_tree_builders/array.rb, line 8
def call
  Diff::LCS.traverse_balanced(expected, actual, lcs_callbacks)
  operation_tree
end

Private Instance Methods

lcs_callbacks() click to toggle source
# File lib/super_diff/operation_tree_builders/array.rb, line 15
def lcs_callbacks
  @_lcs_callbacks ||= LcsCallbacks.new(
    operation_tree: operation_tree,
    expected: expected,
    actual: actual,
    compare: method(:compare),
  )
end
operation_tree() click to toggle source
# File lib/super_diff/operation_tree_builders/array.rb, line 24
def operation_tree
  @_operation_tree ||= OperationTrees::Array.new([])
end