class Dependabot::Elm::UpdateChecker::RequirementsUpdater
Constants
- RANGE_REQUIREMENT_REGEX
- SINGLE_VERSION_REGEX
Attributes
latest_resolvable_version[R]
requirements[R]
Public Class Methods
new(requirements:, latest_resolvable_version:)
click to toggle source
# File lib/dependabot/elm/update_checker/requirements_updater.rb, line 15 def initialize(requirements:, latest_resolvable_version:) @requirements = requirements return unless latest_resolvable_version return unless version_class.correct?(latest_resolvable_version) @latest_resolvable_version = version_class.new(latest_resolvable_version) end
Public Instance Methods
updated_requirements()
click to toggle source
# File lib/dependabot/elm/update_checker/requirements_updater.rb, line 25 def updated_requirements return requirements unless latest_resolvable_version requirements.map do |req| updated_req_string = update_requirement( req[:requirement], latest_resolvable_version ) req.merge(requirement: updated_req_string) end end
Private Instance Methods
require_exactly(version)
click to toggle source
# File lib/dependabot/elm/update_checker/requirements_updater.rb, line 59 def require_exactly(version) "#{version} <= v <= #{version}" end
require_range(minimum, version)
click to toggle source
# File lib/dependabot/elm/update_checker/requirements_updater.rb, line 54 def require_range(minimum, version) major, _minor, _patch = version.to_s.split(".").map(&:to_i) "#{minimum} <= v < #{major + 1}.0.0" end
requirement_class()
click to toggle source
# File lib/dependabot/elm/update_checker/requirements_updater.rb, line 67 def requirement_class Elm::Requirement end
update_requirement(old_req, new_version)
click to toggle source
# File lib/dependabot/elm/update_checker/requirements_updater.rb, line 42 def update_requirement(old_req, new_version) if requirement_class.new(old_req).satisfied_by?(new_version) old_req elsif (match = RANGE_REQUIREMENT_REGEX.match(old_req)) require_range(match[1], new_version) elsif SINGLE_VERSION_REGEX.match?(old_req) new_version.to_s else require_exactly(new_version) end end
version_class()
click to toggle source
# File lib/dependabot/elm/update_checker/requirements_updater.rb, line 63 def version_class Elm::Version end