1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
# 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
|