README.md in drg-0.5.1 vs README.md in drg-0.6.0
- old
+ new
@@ -1,9 +1,15 @@
# DRG
-A Ruby utility to help automate common tasks! Currently includes stuff like enhanced dependency management using Bundler and RSpec scaffolding.
+A Ruby utility to help automate common tasks! Currently includes enhanced dependency management using Bundler. You
+can pin Gem versions to the current or the next available level (major, minor, or patch). Can also automatically
+update your gems to the latest available version.
+## Requirements
+
+* Bundler 1.10+
+
## Installation
Add this line to your application's Gemfile:
```ruby
@@ -13,61 +19,66 @@
## Tasks
```bash
rake drg:update
rake drg:pin
-rake drg:pin:minor
rake drg:pin:major
+rake drg:pin:minor
+rake drg:pin:patch
+rake drg:pin:latest_patch
+rake drg:pin:latest_minor
rake drg:unpin
```
### drg:update
-DRG can update your outdated gems, one-by-one, to the latest version. It'll update the gem and then run your tests.
-If your tests pass, then the new version will be written to your Gemfile (similar to Gemnasium).
+DRG can update your outdated gems! It does this by checking for outdated gems, and then updating them one at time to the latest
+version. It then run your tests (with `rake`) and if your tests pass, the new version will be written to your Gemfile!
```bash
rake drg:update
```
-### pin
+Easy!
-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
+### drg:pin
+
+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. Pinning ignores gems that are fetched from somewhere other than rubygems. For example, gems listed with `:git`, `:github`,
or `:path` will be ignored. 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:
+Will update a Gemfile to their full version:
```ruby
gem 'rails'
gem 'byebug', require: false
gem 'therubyracer', '~> 0.12', platforms: :ruby
-gem 'drg'
+gem 'drg' # need this
```
it'll get changed to
```ruby
gem 'rails', '4.2.3'
gem 'byebug', '5.0.0', require: false
gem 'therubyracer', '0.12.2', platforms: :ruby
-gem 'drg', '0.4.1'
+gem 'drg', '0.4.1' # need this
```
-### pin:minor
+### drg:pin:minor
-Although, you may want to pin gems with their _minor_ version (which allows updating patches). Run:
+Want to pin gems at their _minor_ version?
```bash
rake drg:pin:minor
```
-Which will update your Gemfile from
+Will update a Gemfile
```ruby
gem 'rails', '4.2.3'
```
@@ -75,12 +86,32 @@
```ruby
gem 'rails', '~> 4.2'
```
+### drg:pin:patch
+
+Want to pin gems at their _patch_ version?
+
+```bash
+rake drg:pin:minor
+```
+
+Will update a Gemfile
+
+```ruby
+gem 'rails', '4.2.3'
+```
+
+to
+
+```ruby
+gem 'rails', '~> 4.2.3'
+```
+
This can be combined with `bundle update` to quickly update all gems to the latest patch or minor level.
-### pin:major
+### drg:pin:major
There is also a
```bash
rake drg:pin:major