Method: Doing::WWID#get_diff

Defined in:
lib/doing/wwid/wwidutil.rb

#get_diff(filename = nil) ⇒ Object

Get difference between current content and last backup

Parameters:

  • filename (String) (defaults to: nil)

    The file path

Raises:

  • (DoingRuntimeError)


75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/doing/wwid/wwidutil.rb', line 75

def get_diff(filename = nil)
  configure if Doing.settings.nil?

  filename ||= Doing.setting('doing_file')
  init_doing_file(filename)
  current_content = @content.clone
  backup_file = Util::Backup.last_backup(filename, count: 1)
  raise DoingRuntimeError, 'No undo history to diff' if backup_file.nil?

  backup = WWID.new
  backup.config = Doing.settings
  backup.init_doing_file(backup_file)
  current_content.diff(backup.content)
end