class Dependabot::Workspace::Base

def capture_failed_change_attempt(memo = nil, error = nil); end

def capture_failed_change_attempt(memo = nil, error = nil); end

def change(memo = nil, &_blk)

def change(memo = nil, &_blk)
  Dir.chdir(path) { yield(path) }
rescue StandardError => e
  capture_failed_change_attempt(memo, e)
  clean # clean up any failed changes
  raise e
end

def changed?

def changed?
  changes.any?
end

def changes

def changes
  change_attempts.select(&:success?)
end

def clean; end

def clean; end

def failed_change_attempts

def failed_change_attempts
  change_attempts.select(&:error?)
end

def initialize(path)

def initialize(path)
  @path = path
  @change_attempts = T.let([], T::Array[Dependabot::Workspace::ChangeAttempt])
end

def reset!; end

def reset!; end

def store_change(memo = nil); end

def store_change(memo = nil); end

def to_patch; end

def to_patch; end