class KeepUp::Dependency
Single dependency with its current locked version.
Attributes
locked_version[R]
name[R]
newest_version[R]
Public Class Methods
new(name:, requirement_list:, locked_version:, newest_version:)
click to toggle source
# File lib/keep_up/dependency.rb, line 6 def initialize(name:, requirement_list:, locked_version:, newest_version:) @name = name @requirement_list = requirement_list @locked_version = Gem::Version.new locked_version @newest_version = Gem::Version.new newest_version end
Public Instance Methods
==(other)
click to toggle source
# File lib/keep_up/dependency.rb, line 33 def ==(other) other.name == name && other.locked_version == locked_version && other.newest_version == newest_version && other.requirement == requirement end
generalize_specification(specification)
click to toggle source
# File lib/keep_up/dependency.rb, line 23 def generalize_specification(specification) return specification if requirement.exact? segments = specification.version.segments return specification if segments.count <= segment_count version = segments.take(segment_count).join(".") Gem::Specification.new(specification.name, version) end
matches_spec?(spec)
click to toggle source
# File lib/keep_up/dependency.rb, line 19 def matches_spec?(spec) dependency.matches_spec? spec end
requirement()
click to toggle source
# File lib/keep_up/dependency.rb, line 15 def requirement @requirement ||= Gem::Requirement.new @requirement_list end
Private Instance Methods
dependency()
click to toggle source
# File lib/keep_up/dependency.rb, line 42 def dependency @dependency ||= Gem::Dependency.new name, requirement end
segment_count()
click to toggle source
# File lib/keep_up/dependency.rb, line 46 def segment_count @segment_count ||= begin _, ver = requirement.requirements.first ver.segments.count end end