README.md in dread-0.0.7 vs README.md in dread-0.1.0

- old
+ new

@@ -1,4 +1,105 @@ # Dread +// missing_dependents + [![Build Status](https://travis-ci.org/DamirSvrtan/dread.svg?branch=master)](https://travis-ci.org/DamirSvrtan/dread) -[![Code Climate](https://codeclimate.com/github/DamirSvrtan/dread/badges/gpa.svg)](https://codeclimate.com/github/DamirSvrtan/dread) \ No newline at end of file +[![Code Climate](https://codeclimate.com/github/DamirSvrtan/dread/badges/gpa.svg)](https://codeclimate.com/github/DamirSvrtan/dread) + +Never dread about (not) destroying your records again! + +Dread provides ways to: + 1. Draw a graph of dependently destroyable associations + 2. Find associations with missing depenent destroys/delets/nullifies + +Supports Rails 3.2+ and Ruby 1.9.3+. + +## Installation + +Add the Dread gem to your Gemfile: + +```ruby +group :development do + gem 'dread', '>= 0.0.7' +end +``` + +And run `bundle install` within your app's directory. + +## Usage + +The Dread gem provides a rake task for drawing all dependently destroyable associations. + +```bash +$ rake dread class=user + +user + tweets + comments + pictures + pictures + comments + pictures + avatar +``` + +#### Self joins + +```ruby +class Employee < ActiveRecord::Base + has_many :subordinates, class_name: Employee, + foreign_key: "manager_id", + dependent: :destroy + + belongs_to :manager, class_name: Employee +end +``` + +```shell +$ rake dread class=employee + +employee + subordinates + ... +``` + +#### Circular dependent destroys + +```ruby +class Supplier < ActiveRecord::Base + has_one :account, dependent: :destroy +end + +class Account < ActiveRecord::Base + belongs_to :supplier, dependent: :destroy +end +``` + +```shell +$ rake dread class=supplier + +supplier + account + supplier + ... +``` + + +### Development + +Dread uses [appraisals](https://github.com/thoughtbot/appraisal) to test the code base against multiple versions of Rails. + +When first developing, you should run `bundle install` and `appraisal install` to install the all dependencies accross different gemfiles. + +Run `appraisal rake` to roll the tests on multiple versions or just run a specific set with `appraisal rails-4.0 rake`. + +### Bug reports + +If you find a problem with the Dread gem, please submit an [issue](https://github.com/DamirSvrtan/dread/issues), along with the version of Rails you're using and the set of associations that are causing the trouble. + +### Contributing + +1. Fork it ( http://github.com/DamirSvrtan/dread/fork ) +2. Create your feature branch (`git checkout -b my-new-feature`) +3. Commit your changes (`git commit -m 'Add new feature'`) +4. Push to the branch (`git push origin my-new-feature`) +5. Create new Pull Request