method

sort_dep_specs

ruby latest stable - Class: Bundler::GemVersionPromoter

Method not available on this version

This method is only available on newer versions. The first available version (v2_6_3) is shown here.

sort_dep_specs(spec_groups, locked_spec)
private

No documentation available.

# File lib/bundler/gem_version_promoter.rb, line 121
    def sort_dep_specs(spec_groups, locked_spec)
      return spec_groups unless locked_spec
      @gem_name = locked_spec.name
      @locked_version = locked_spec.version

      result = spec_groups.sort do |a, b|
        @a_ver = a.version
        @b_ver = b.version

        unless @prerelease_specified[@gem_name]
          a_pre = @a_ver.prerelease?
          b_pre = @b_ver.prerelease?

          next -1 if a_pre && !b_pre
          next  1 if b_pre && !a_pre
        end

        if major?
          @a_ver <=> @b_ver
        elsif either_version_older_than_locked
          @a_ver <=> @b_ver
        elsif segments_do_not_match(:major)
          @b_ver <=> @a_ver
        elsif !minor? && segments_do_not_match(:minor)
          @b_ver <=> @a_ver
        else
          @a_ver <=> @b_ver
        end
      end
      post_sort(result)
    end