wipe_out
wipe_out copied to clipboard
Library for removing and clearing data in Rails ActiveRecord models.
WipeOut

Release blog post, ActiveRecord models: How to remove data in GDPR compliant way
Installation
- Add WipeOut to your application's Gemfile:
gem "wipe_out", "~> 1.0"
Check newest release at here.
Usage
Quick example:
Given the following model:
# == Schema Info
#
# Table name: users
#
# id :integer(11) not null, primary key
# name :varchar(11) not null
# orders_count :integer(11) not null
class User < ActiveRecord::Base
end
We can define custom wipe out plan:
UserWipeOutPlan = WipeOut.build_plan do
wipe_out :name
ignore :orders_count
end
and execute it:
User.last.then { |user| UserWipeOutPlan.execute(user) }
It will overwrite data inside name but leave, orders_count untouched.
There is also support for relations and making sure that policies are defined for any added columns.
Read more in getting started doc.
Contributing && Development
See development.md