Sha256: 211d080c554c674a08b3a5b012c39b2676f01e15171de8eb0bcbcfc7b0de3366

Contents?: true

Size: 830 Bytes

Versions: 1

Compression:

Stored size: 830 Bytes

Contents

# frozen_string_literal: true

require "rubygems/requirement"

# See https://github.com/rubygems/rubygems/pull/2554
module Gem
  class Requirement
    # rubocop:disable Style/CaseEquality
    def ==(other)
      return unless Gem::Requirement === other

      # An == check is always necessary
      return false unless requirements == other.requirements

      # An == check is sufficient unless any requirements use ~>
      return true unless _tilde_requirements.any?

      # If any requirements use ~> we check that the strings are equal so that
      # version precision is considered
      _tilde_requirements.map(&:to_s) == other._tilde_requirements.map(&:to_s)
    end
    # rubocop:enable Style/CaseEquality

    protected

    def _tilde_requirements
      requirements.select { |r| r.first == "~>" }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dependabot-core-0.86.21 lib/rubygems_requirement_patch.rb