Gemfile.lockからバージョンの変更を取得する
こんなとき
- 大きめのRails/ライブラリアップデートを控えている
- アップデート時にテストを行いたいが, テストスートが不十分
- アップデートにもテストにも十分な時間を割くことができない
できたこと
gemのアップデート(bundle updateとか)をした後にGenfile.lockのdiffからgemの変更差分を表示するスクリプトを作成しました. travelog
これを使ってアップデートされた各gemの変更差分を追いやすくします.
変更の入ったところには, バグなどの不具合が起こりやすいと思うのでテスト設計の際に参考にできると思います.
導入
$ gem install travelog
$ type travelog
使い方
$ 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に感謝です.
Author And Source
この問題について(Gemfile.lockからバージョンの変更を取得する), 我々は、より多くの情報をここで見つけました https://qiita.com/rentalname@github/items/f72ee234d6b369ba771d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .