Ответ 1
Это фрагмент старого кода и, скорее всего, будет удален.
Добавлено: Его обходной путь для ошибки в Bundler, который может привести к загрузке источников из github через HTTP, а не HTTPS, что делает его уязвимым для человека в средних атаках.
git_source
добавляет источник, который вы можете использовать, чтобы камень был загружен из репозитория git вместо пакета из rubygems.org
.
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
Сделал бы это так, что когда вы объявите:
gem 'foo_bar', :github => 'foo/bar'
Bundler попытается загрузить драгоценный камень из https://github.com/foo/bar.git
.
Так как исправление этого будет нарушением изменений, поскольку это приведет к аннулированию любого существующего Gemfile.lock, оно исправлено в Bundler 2.x. В этот момент должно быть безопасно удалить это обходное решение.