A Day in the Life

Gemfile のひな形を作りましょうか

Gemfile のひな形を作りましょうか

Gemfile で管理されてないアプリ・ライブラリを bundler 対応させて Gemfile を作るのいがいとめんどうですね。ひな形を適当に作りましょうか。

bunlder 本体でなんかできそうな気もするんだけど…。

gem list から作る

#!ruby
re = %r{(.+?)\s+\((.+)\)}
`gem list`.split("\n").each do |gem|
  _, package, versions = gem.match(re).to_a
  if package
    versions.split(/,\s*/).each do |version|
      puts "gem '#{package}', '= #{version}'"
    end
  end
end

現在使ってるライブラリやアプリから作る

ライブラリがあらかたロード終わったタイミングで実行する。at_exit にしこむのもアリ。

puts Gem.loaded_specs.map {|_, spec| "gem '#{spec.name}', '= #{spec.version.to_s}'" }.sort.join("\n")
記事の一覧 >

関連するかもエントリー

別のマシンで同じバージョンの gem を入れる
別のマシンで同じバージョンの gem を入れるrvm つかってれば rvm gemset export/import でいいんだけど、そうじゃない場合 gem のバージョンを指定してパッケージを入れるのがかなりめんどくさいので10行クリプト書いた。実行するとローカルの gem が...
別のマシンで同じバージョンの gem を入れるrvm つかってれば rvm gemset export/import でいいんだけど、そうじ...
2010-12-24
cdgemgem のパスに移動するのがめんどくさいので $GEM_HOME が使える環境下(rvm とか)な ruby の gem のパスに移動する zsh 関数 / 補完関数書いた。$ cdgem rspec[tab]とかでみたいに補完されます。ブクマコメントより、basena...
cdgemgem のパスに移動するのがめんどくさいので $GEM_HOME が使える環境下(rvm とか)な ruby の gem のパスに...
2010-10-27
SaSS (scss) ですべての css を打ち消す以前ちょさんが JS でやってたのの SaSS 版。ちょさんの JS コードからコピペです。http://gist.github.com/649098これを @import して、scss で.example { @inc...
SaSS (scss) ですべての css を打ち消す以前ちょさんが JS でやってたのの SaSS 版。ちょさんの JS コードからコピペ...