class StackMaster::Diff

Public Class Methods

new(name: nil, before:, after:, context: 10_000) click to toggle source
# File lib/stack_master/diff.rb, line 3
def initialize(name: nil, before:, after:, context: 10_000)
  @name = name
  @before = before
  @after = after
  @context = context
end

Public Instance Methods

different?() click to toggle source
# File lib/stack_master/diff.rb, line 32
def different?
  diff != ''
end
display() click to toggle source
# File lib/stack_master/diff.rb, line 10
def display
  stdout.print "#{@name} diff: "
  if diff == ''
    stdout.puts "No changes"
  else
    stdout.puts
    display_colorized_diff
  end
end
display_colorized_diff() click to toggle source
# File lib/stack_master/diff.rb, line 20
def display_colorized_diff
  diff.each_line do |line|
    if line.start_with?('+')
      stdout.print colorize(line, :green)
    elsif line.start_with?('-')
      stdout.print colorize(line, :red)
    else
      stdout.print line
    end
  end
end

Private Instance Methods

diff() click to toggle source
# File lib/stack_master/diff.rb, line 38
def diff
  @diff ||= Diffy::Diff.new(@before, @after, context: @context).to_s
end