3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Gemfile.lockからバージョンの変更を取得する

Posted at

こんなとき

  • 大きめのRails/ライブラリアップデートを控えている
  • アップデート時にテストを行いたいが, テストスートが不十分
  • アップデートにもテストにも十分な時間を割くことができない

できたこと

gemのアップデート(bundle updateとか)をした後にGenfile.lockのdiffからgemの変更差分を表示するスクリプトを作成しました. travelog
これを使ってアップデートされた各gemの変更差分を追いやすくします.
変更の入ったところには, バグなどの不具合が起こりやすいと思うのでテスト設計の際に参考にできると思います.

導入

$ gem install travelog
$ type travelog

使い方

railsのリポジトリを使って試してみます.

$ git clone https://github.com/rails/rails.git
$ cd rails
$ git diff b1edc37 HEAD -- Gemfile.lock | travelog

次のような出力が得られます.
バージョンに変更があった場合は, bundler形式で変更を出力し, 別途インストールのみされたgemとアンインストールされたgemを出力するようにしています

***** CHANGED GEM'S *****
globalid 0.3.6(was 0.3.3)
jquery-rails 4.0.5(was 4.0.3)
sprockets 4.0.0(was 2.12.3)
turbolinks 3.0.0(was 2.5.3)
amq-protocol 2.0.0(was 1.9.2)
~~省略~~

***** INSTALLED GEM'S *****
sass-rails 6.0.0
sass 3.4.19
byebug 8.2.0
celluloid-essentials 0.20.5
~~省略~~

***** UNINSTALLED GEM'S *****
hike 1.2.3
mail 2.6.3
mini_portile 0.6.2
queue_classic 3.1.0
rack 1.6.0
rack-protection 1.5.3
ruby-prof 0.11.3
sprockets-rails 2.2.4
tilt 1.4.1

参考

https://rubygems.org/gems/travelog
https://github.com/rentalname/travelog

感想

このgemを公開するモチベーションをくれたrubykaigiに感謝です. :sushi:

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?