class Dependabot::FileUpdaters::Base

def self.updated_files_regex

def self.updated_files_regex
  raise NotImplementedError
end

def check_required_files

def check_required_files
  raise NotImplementedError
end

def file_changed?(file)

def file_changed?(file)
  dependencies.any? { |dep| requirement_changed?(file, dep) }
end

def get_original_file(filename)

def get_original_file(filename)
  dependency_files.find { |f| f.name == filename }
end

def initialize(dependencies:, dependency_files:, credentials:, repo_contents_path: nil, options: {})

def initialize(dependencies:, dependency_files:, credentials:, repo_contents_path: nil, options: {})
  @dependencies = dependencies
  @dependency_files = dependency_files
  @repo_contents_path = repo_contents_path
  @credentials = credentials
  @options = options
  check_required_files
end

def requirement_changed?(file, dependency)

def requirement_changed?(file, dependency)
  changed_requirements = dependency.requirements - T.must(dependency.previous_requirements)
  changed_requirements.any? { |f| f[:file] == file.name }
end

def updated_dependency_files

def updated_dependency_files
  raise NotImplementedError
end

def updated_file(file:, content:)

def updated_file(file:, content:)
  updated_file = file.dup
  updated_file.content = content
  updated_file
end