Class: Dependabot::Hex::UpdateChecker::RequirementsUpdater

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

Constant Summary collapse

OPERATORS =
/>=|<=|>|<|==|~>/
AND_SEPARATOR =
/\s+and\s+/
OR_SEPARATOR =
/\s+or\s+/
SEPARATOR =
/#{AND_SEPARATOR}|#{OR_SEPARATOR}/

Instance Method Summary collapse

Constructor Details

#initialize(requirements:, latest_resolvable_version:, updated_source:) ⇒ RequirementsUpdater

Returns a new instance of RequirementsUpdater.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/dependabot/hex/update_checker/requirements_updater.rb', line 29

def initialize(
  requirements:,
  latest_resolvable_version:,
  updated_source:
)
  @requirements = T.let(
    requirements.map { |req| Dependabot::DependencyRequirement.create(req) },
    T::Array[Dependabot::DependencyRequirement]
  )
  @updated_source = T.let(updated_source, T.nilable(T::Hash[Symbol, T.nilable(String)]))
  @latest_resolvable_version = T.let(nil, T.nilable(Dependabot::Version))

  return unless latest_resolvable_version
  return unless Hex::Version.correct?(latest_resolvable_version)

  @latest_resolvable_version = Hex::Version.new(latest_resolvable_version)
end

Instance Method Details

#updated_requirementsObject



48
49
50
# File 'lib/dependabot/hex/update_checker/requirements_updater.rb', line 48

def updated_requirements
  requirements.map { |req| updated_mixfile_requirement(req) }
end