Every week or so, you wish to update your Gemfile
,
to do so, you just have to launch bundle update
.
Problem is updates may break things. And obviously you need to know what may have broke before pushing your code to production. Before running your test suite and checking everything is fine, the first thing you do is probably to look for the changelogs of updated gems.
This process can be quite time consumming: you need to check on the internet for every updated gems, find where their changelog is hosted, and probably link to it in your commit message so that other developers will have a chance to review it too.
gem_update
will do exactly that for you.
It updates your Gemfile
(via bundle update
) and finds links for changelogs of updated gems.
All you have to do is to copy paste the output to the commit message, and you're done!
Obviously, you still have to read changelogs and adapt your code though ;)
gem install gem_updater
gem_update
<copy paste of output to commit message>
If you prefer to, you can ask gem_update to commit straight away:
gem_update --commit
This will use the generated message as a commit message template, allowing you to edit before commit.
By default, diff for your gems will look like the following:
* gem_1 0.1 → 0.2
[changelog](https://github.com/maintainer/gem_1/CHANGELOG.md#02)
* gem_2 3.4.2 → 3.4.3
[changelog](https://github.com/maintainer/gem_2/CHANGELOG.md#343)
You can change it if you like by writing you own template .gem_updater_template.erb
in your home directory.
Look at default template for an example on how to do it.
This project relies on the gem’s metadata to find the changelog url. If a changelog was not found, check if the gem’s authors declared its uri in its gemspec, like here.
PRs are always welcome! If you wish to contribute, do not hesitate to submit an issue or to open a pull request.