Class: Dependabot::Uv::UpdateChecker::LockFileResolver

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/uv/update_checker/lock_file_resolver.rb

Instance Method Summary collapse

Constructor Details

#initialize(dependency:, dependency_files:, credentials:, repo_contents_path: nil, security_advisories: [], ignored_versions: []) ⇒ LockFileResolver

Returns a new instance of LockFileResolver.



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/dependabot/uv/update_checker/lock_file_resolver.rb', line 27

def initialize(
  dependency:,
  dependency_files:,
  credentials:,
  repo_contents_path: nil,
  security_advisories: [],
  ignored_versions: []
)
  @dependency = dependency
  @dependency_files = dependency_files
  @credentials = credentials
  @repo_contents_path = repo_contents_path
  @security_advisories = security_advisories
  @ignored_versions = ignored_versions
end

Instance Method Details

#latest_resolvable_version(requirement:) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
# File 'lib/dependabot/uv/update_checker/lock_file_resolver.rb', line 44

def latest_resolvable_version(requirement:)
  return nil unless requirement

  req = Uv::Requirement.new(requirement)

  # Get the version from the dependency if available
  version_from_dependency = dependency.version && Uv::Version.new(dependency.version)
  return version_from_dependency if version_from_dependency && req.satisfied_by?(version_from_dependency)

  nil
end

#lowest_resolvable_security_fix_versionObject



64
65
66
67
68
69
70
71
# File 'lib/dependabot/uv/update_checker/lock_file_resolver.rb', line 64

def lowest_resolvable_security_fix_version
  # Delegate to LatestVersionFinder which handles security advisory filtering
  fix_version = latest_version_finder.lowest_security_fix_version
  return nil if fix_version.nil?

  # Return the fix version cast to Uv::Version
  Uv::Version.new(fix_version.to_s)
end

#resolvable?(_version) ⇒ Boolean

Returns:

  • (Boolean)


57
58
59
60
61
# File 'lib/dependabot/uv/update_checker/lock_file_resolver.rb', line 57

def resolvable?(_version)
  # Always return true since we don't actually attempt resolution
  # This is just a placeholder implementation
  true
end