This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
source 'https://rubygems.org' | |
gem 'rails' | |
# some gems | |
group :development, :test do | |
gem 'rspec' | |
gem 'rspec-rails' | |
gem 'pry' | |
gem 'pry-rails' | |
gem 'pry-byebug' | |
# some gems | |
end | |
group :test do | |
gem 'poltergeist' | |
gem 'launchy' | |
gem 'database_cleaner' | |
# some gems | |
end |
ローカルでは、2.1.2だから気が付かなかった。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
source 'https://rubygems.org' | |
gem 'rails' | |
# some gems | |
group :development, :test do | |
gem 'rspec' | |
gem 'rspec-rails' | |
gem 'pry' | |
gem 'pry-rails' | |
if RUBY_VERSION >= '2.0.0' | |
gem 'pry-byebug' | |
else | |
gem 'pry-debugger' | |
end | |
# some gems | |
end | |
group :test do | |
gem 'poltergeist' | |
gem 'launchy' | |
gem 'database_cleaner' | |
# some gems | |
end |
そしたらある日
binding.pry
を消し忘れて push してしまいテストが終わらなかった。CI が当たり前となった現在、こういう Gemfile は無駄が多いんじゃなかろうか。
pry-byebug などのデバッグツールはテストの時に必須なのではないので、CI時には無視したい。
おそらくそのための機能が group なんだろうけど、環境に応じて
bundle install
のオプションをあれこれしなければいけないのはちょっとめんどくさい。できれば bundle install
と path などの使い慣れたオプションだけで完結させたい。で、話変わって Redmine には Gemfile.local という仕組みがあって、Redmine の実行と直接関係ない gem を記述する方法が用意されている。
Redmineのインストール — Redmine Guide 日本語訳 によると、Redmine本体は使用しないgem(例: mongrel, fcgi)もロードしたい場合のための仕組みらしい。
せっかくなので、Redmine 以外の開発でも導入してみよう。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
source 'https://rubygems.org' | |
gem 'rails' | |
# some gems | |
group :development, :test do | |
gem 'rspec' | |
gem 'rspec-rails' | |
# some gems | |
end | |
group :test do | |
gem 'poltergeist' | |
gem 'launchy' | |
gem 'database_cleaner' | |
# some gems | |
end | |
local_gemfile = File.join(File.dirname(__FILE__), 'Gemfile.local') | |
instance_eval File.read(local_gemfile) if File.exists?(local_gemfile) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
group :development, :test do | |
gem 'pry' | |
gem 'pry-rails' | |
gem 'pry-byebug' | |
# some gems for debug | |
end |
CI時に不要な gem がダウンロードも読み込みもされることはないし、ローカルの開発ではデバッグできる。
bundle install
する時に余計なオプションもいらない。大体、デバッグツールなどは使い慣れたものが個人個人にあって、誰かの設定に左右されるべきものではない。
ただし、当然デメリットもあってコレを許すということは個人個人の開発環境で差異が出ることを意味する。
なので、余計なトラブルが起こる可能性も多少あがる。
まあ、それは使う使わないの選択の問題であって、仕組みとしてはあったほうが便利だと思う。
0 件のコメント :
コメントを投稿