Skip to content

Commit

Permalink
Merge pull request #22 from parndt/patch-2
Browse files Browse the repository at this point in the history
Added GitHub flavouring to your Markdown!
  • Loading branch information
radar committed Apr 2, 2012
2 parents 3c08187 + 50e0b61 commit 6b74517
Showing 1 changed file with 50 additions and 32 deletions.
82 changes: 50 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ You would use either plugin / gem if you wished that when you called `destroy` o

Put this in your Gemfile:

gem 'paranoia'
```ruby
gem 'paranoia'
```

Then run `bundle`. Done.

Expand All @@ -18,69 +20,85 @@ Updating is as simple as `bundle update paranoia`.

In your _Gemfile_:

gem 'paranoia'
```ruby
gem 'paranoia'
```

Then run:

bundle install
```shell
bundle install
```

#### Rails 2:

In your _config/environment.rb_:

config.gem 'paranoia'
```ruby
config.gem 'paranoia'
```

Then run:

rake gems:install
```shell
rake gems:install
```

#### Run your migrations for the desired models

class AddDeletedAtToClient < ActiveRecord::Migration
def self.up
add_column :clients, :deleted_at, :datetime
end

def self.down
remove_column :clients, :deleted_at
end
end
```ruby
class AddDeletedAtToClient < ActiveRecord::Migration
def self.up
add_column :clients, :deleted_at, :datetime
end

def self.down
remove_column :clients, :deleted_at
end
end
```

### Usage

#### In your model:

class Client < ActiveRecord::Base
acts_as_paranoid
```ruby
class Client < ActiveRecord::Base
acts_as_paranoid

...
end
...
end
```

Hey presto, it's there!

If you want a method to be called on destroy, simply provide a _before\_destroy_ callback:

class Client < ActiveRecord::Base
acts_as_paranoid
```ruby
class Client < ActiveRecord::Base
acts_as_paranoid

before_destroy :some_method
before_destroy :some_method

def some_method
# do stuff
end
def some_method
# do stuff
end

...
end
...
end
```

You can replace the older acts_as_paranoid methods as follows:

find_with_deleted(:all) # => unscoped
find_with_deleted(:first) # => unscoped.first
find_with_deleted(id) # => unscoped.find(id)
```ruby
find_with_deleted(:all) # => unscoped
find_with_deleted(:first) # => unscoped.first
find_with_deleted(id) # => unscoped.find(id)

find_only_deleted(:all) # => only_deleted
find_only_deleted(:first) # => only_deleted.first
find_only_deleted(id) # => only_deleted.find(id)
find_only_deleted(:all) # => only_deleted
find_only_deleted(:first) # => only_deleted.first
find_only_deleted(id) # => only_deleted.find(id)
```

## License

Expand Down

0 comments on commit 6b74517

Please sign in to comment.