Class: Dependabot::Swift::UpdateChecker

Inherits:
UpdateCheckers::Base
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/swift/update_checker.rb,
lib/dependabot/swift/update_checker/version_resolver.rb,
lib/dependabot/swift/update_checker/requirements_updater.rb,
lib/dependabot/swift/update_checker/xcode_version_resolver.rb,
lib/dependabot/swift/update_checker/latest_version_resolver.rb

Defined Under Namespace

Classes: LatestVersionResolver, RequirementsUpdater, VersionResolver, XcodeVersionResolver

Instance Method Summary collapse

Instance Method Details

#latest_resolvable_versionObject



29
30
31
# File 'lib/dependabot/swift/update_checker.rb', line 29

def latest_resolvable_version
  @latest_resolvable_version = T.let(fetch_latest_resolvable_version, T.nilable(Dependabot::Version))
end

#latest_resolvable_version_with_no_unlockObject

Raises:

  • (NotImplementedError)


34
35
36
# File 'lib/dependabot/swift/update_checker.rb', line 34

def latest_resolvable_version_with_no_unlock
  raise NotImplementedError
end

#latest_versionObject



24
25
26
# File 'lib/dependabot/swift/update_checker.rb', line 24

def latest_version
  @latest_version ||= T.let(fetch_latest_version, T.nilable(Dependabot::Version))
end

#lowest_resolvable_security_fix_versionObject



44
45
46
47
48
49
50
51
# File 'lib/dependabot/swift/update_checker.rb', line 44

def lowest_resolvable_security_fix_version
  raise "Dependency not vulnerable!" unless vulnerable?

  @lowest_resolvable_security_fix_version = T.let(
    fetch_lowest_resolvable_security_fix_version,
    T.nilable(Dependabot::Version)
  )
end

#lowest_security_fix_versionObject



39
40
41
# File 'lib/dependabot/swift/update_checker.rb', line 39

def lowest_security_fix_version
  @lowest_security_fix_version ||= T.let(fetch_lowest_security_fix_version, T.nilable(Dependabot::Version))
end

#updated_requirementsObject



54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/dependabot/swift/update_checker.rb', line 54

def updated_requirements
  return updated_xcode_requirements if xcode_spm_mode?

  # If no target version is available, return old requirements unchanged
  target = preferred_resolvable_version
  return old_requirements unless target

  RequirementsUpdater.new(
    requirements: old_requirements,
    target_version: target
  ).updated_requirements
end