Sha256: d4056a727f9d69d8c70abdc876bbf8a60fa8b02e66c011c721cb7fc6dd3532bf
Contents?: true
Size: 1.37 KB
Versions: 4
Compression:
Stored size: 1.37 KB
Contents
# frozen_string_literal: true module KeepUp # Single dependency with its current locked version. class Dependency 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 attr_reader :name, :locked_version, :newest_version def requirement @requirement ||= Gem::Requirement.new @requirement_list end def matches_spec?(spec) dependency.matches_spec? spec end 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 def ==(other) other.name == name && other.locked_version == locked_version && other.newest_version == newest_version && other.requirement == requirement end private def dependency @dependency ||= Gem::Dependency.new name, requirement end def segment_count @segment_count ||= begin _, ver = requirement.requirements.first ver.segments.count end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
keep_up-0.11.0 | lib/keep_up/dependency.rb |
keep_up-0.10.2 | lib/keep_up/dependency.rb |
keep_up-0.10.1 | lib/keep_up/dependency.rb |
keep_up-0.10.0 | lib/keep_up/dependency.rb |