README.md in drg-0.3.0 vs README.md in drg-0.4.0

- old
+ new

@@ -20,19 +20,67 @@ ## Usage ### Pinning Gems -DRG can help you manage your project's gems by updating your Gemfile with pinned versions. Just run: +DRG really wants to help you manage your project's gems. But DRG doesn't want to replace Bundler. Instead we want to build on +it. You can "pin" all your versions to the current version listed in the Gemfile.lock: ```bash rake drg:pin ``` +Which will change gems list in your Gemfile to their full version. So if you have a gemfile that looks like: + +```ruby +gem 'rails' +gem 'byebug', require: false +gem 'therubyracer', '~> 0.12', platforms: :ruby + +# gotta include ourselves +gem 'drg' +``` + +to + +```ruby +gem 'rails', '4.2.3' +gem 'byebug', '5.0.0', require: false +gem 'therubyracer', '0.12.2', platforms: :ruby + +# gotta include ourselves +gem 'drg', '0.3.1' +``` + +Although, you may want to pin gems with their _minor_ version (which allows updating patches). To do this, just run: + +```bash +rake drg:pin:minor +``` + +This will change a gem listed like + +```ruby +gem 'rails', '4.2.3' +``` + +to + +```ruby +gem 'rails', '~> 4.2' +``` + +Pinning ignores gems that are fetched from somewhere other than rubygems. For example, gems listed with `:git`, `:github`, +or `:path` will be ignored. + +There is also a `rake drg:pin:major` that does what you think. + +This can be combined with `bundle update` to quickly update all gems to the latest patch level. + ### Updating Gems DRG can also try to update all outdated gems to the most recent version. It'll update the gem and run your tests. If your -tests pass, then it'll update your gemfile with the current version. Similar to what Gemnasium offers. +tests pass, then it'll update your gemfile with the current version. Similar to what Gemnasium offers (experience may vary). ```bash rake drg:update ```