Como obter um "commit" específico de uma gema no github?

155

Estou usando o rails_admin e, como está em desenvolvimento (muito) ativo, os erros aparecem de vez em quando.

Não há versões para a gema, tanto quanto posso dizer, para a gema no github, portanto não posso usar a :versionchave para a declaração da gema no Gemfile.

Existe uma maneira de "vincular" um commit específico (que eu sei que está funcionando bem para mim) ao Gemfile?

Atualmente, tenho no meu Gemfile:

gem 'rails_admin', 
  :git => 'git://github.com/sferik/rails_admin.git'

Eu gostaria de poder fazer algo assim (exemplo "commit_id"):

gem 'rails_admin', 
  :git => 'git://github.com/sferik/rails_admin.git',
  :commit_id => "4e7d53e3c5c4c3c5c43c3"

Isso é possível com o github?

Zabba
fonte

Respostas:

63

Uma versão mais curta:

gem 'rails', :github => 'rails/rails', :ref => '4aded'

Ou, no Ruby 1.9+

gem 'rails', github: 'rails/rails', ref: '4aded'
Eric L.
fonte
E definindo a fonte padrão do github para https com isso:git_source(:github) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") "https://github.com/#{repo_name}.git" end
Dorian