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.



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

def initialize(
  requirements:,
  latest_resolvable_version:,
  updated_source:
)
  @requirements = T.let(requirements, T::Array[T::Hash[Symbol, T.untyped]])
  @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



44
45
46
# File 'lib/dependabot/hex/update_checker/requirements_updater.rb', line 44

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