Class: Dependabot::Julia::RequirementsUpdater

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

Instance Method Summary collapse

Constructor Details

#initialize(requirements:, target_version:, update_strategy:) ⇒ RequirementsUpdater

Returns a new instance of RequirementsUpdater.



20
21
22
23
24
25
26
27
28
29
# File 'lib/dependabot/julia/update_checker/requirements_updater.rb', line 20

def initialize(requirements:, target_version:, update_strategy:)
  @requirements = T.let(
    requirements.map { |req| Dependabot::DependencyRequirement.create(req) },
    T::Array[Dependabot::DependencyRequirement]
  )
  @target_version = target_version
  # Julia's ecosystem convention (CompatHelper) is to append a new spec
  # to the existing compat entry, i.e. widen, so that is the default.
  @update_strategy = T.let(update_strategy || :widen_ranges, Symbol)
end

Instance Method Details

#updated_requirementsObject



32
33
34
35
36
37
38
39
40
41
# File 'lib/dependabot/julia/update_checker/requirements_updater.rb', line 32

def updated_requirements
  return requirements unless target_version
  return requirements if update_strategy == :lockfile_only

  target_version_obj = Dependabot::Julia::Version.new(target_version)

  requirements.map do |requirement|
    update_requirement(requirement, target_version_obj)
  end
end