class SuperDiff::OperationTreeFlatteners::Base

Public Instance Methods

call() click to toggle source
# File lib/super_diff/operation_tree_flatteners/base.rb, line 9
def call
  beginning_lines + middle_lines + ending_lines
end

Protected Instance Methods

build_tiered_lines() click to toggle source
# File lib/super_diff/operation_tree_flatteners/base.rb, line 15
def build_tiered_lines
  unimplemented_instance_method!
end

Private Instance Methods

beginning_lines() click to toggle source
# File lib/super_diff/operation_tree_flatteners/base.rb, line 21
def beginning_lines
  if tiered_lines.empty?
    []
  elsif indentation_level > 0
    [tiered_lines[0]]
  else
    [tiered_lines[0].with_complete_bookend(:open)]
  end
end
ending_lines() click to toggle source
# File lib/super_diff/operation_tree_flatteners/base.rb, line 39
def ending_lines
  if tiered_lines.empty?
    []
  elsif indentation_level > 0
    [tiered_lines[-1]]
  else
    [tiered_lines[-1].with_complete_bookend(:close)]
  end
end
middle_lines() click to toggle source
# File lib/super_diff/operation_tree_flatteners/base.rb, line 31
def middle_lines
  if tiered_lines.empty?
    []
  else
    tiered_lines[1..-2]
  end
end
tiered_lines() click to toggle source
# File lib/super_diff/operation_tree_flatteners/base.rb, line 49
def tiered_lines
  @_tiered_lines ||= build_tiered_lines
end