Il s'agit d'une solution de contournement d'un bogue dans Bundler qui peut entraîner le chargement des sources de github via HTTP et non HTTPS, ce qui le rend vulnérable aux attaques de type "man in the middle".
git_source
ajoute une source que vous pouvez utiliser afin que la gemme soit téléchargée à partir d'un dépôt git au lieu d'un paquet provenant de 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
Cela ferait en sorte que lorsque vous déclarez :
gem 'foo_bar', :github => 'foo/bar'
Bundler tenterait de télécharger la gemme à partir de https://github.com/foo/bar.git
.
Depuis corriger cela serait un changement de rupture car cela invaliderait tout Gemfile existant. Le problème est corrigé dans Bundler 2.x. À ce stade, il devrait être possible de supprimer cette solution de contournement.