/immortal

Make any ActiveRecord model paranoid by just including Immortal, and instead of being deleted from the database, the object will just marked as 'deleted' with a boolean field in the database.

Primary LanguageRubyMIT LicenseMIT

Immortal

Make any ActiveRecord model paranoid by just including Immortal, and instead of being deleted from the database, the object will just marked as 'deleted' with a boolean field in the database.

Installation

Add the gem dependency to your Gemfile:

gem 'immortal'

Usage

class User < ActiveRecord::Base
  include Immortal
end

And add a boolean field called deleted to that model:

class AddDeletedToUsers < ActiveRecord::Migration
  def self.up
    add_column :users, :deleted, :boolean
  end

  def self.down
    remove_column :users, :deleted
  end
end

TODO

  • Add documentation in the code

Contributing

If you want to improve immortal

  1. Fork the repo
  2. Create a topic branch git checkout -b my_feature
  3. Push it! git push origin my_feature
  4. Open a pull request