ruby/lib/bundler/uri_normalizer.rb

24 строки
715 B
Ruby

# frozen_string_literal: true
module Bundler
module URINormalizer
module_function
# Normalizes uri to a consistent version, either with or without trailing
# slash.
#
# TODO: Currently gem sources are locked with a trailing slash, while git
# sources are locked without a trailing slash. This should be normalized but
# the inconsistency is there for now to avoid changing all lockfiles
# including GIT sources. We could normalize this on the next major.
#
def normalize_suffix(uri, trailing_slash: true)
if trailing_slash
uri.end_with?("/") ? uri : "#{uri}/"
else
uri.end_with?("/") ? uri.delete_suffix("/") : uri
end
end
end
end