Obfuscator
Working from a production database dump can often be helpful for
debugging strange errors and edge cases, but having potentially
sensitive user data on a development machine is a dangerous liability.
Obfuscator provides a clean, friendly API for obfuscating sensitive
columns in your Ruby on Rails application's models.
Installation
Add this line to your application's Gemfile:
gem 'obfuscator'
And then execute:
$ bundle
Or install it yourself as:
$ gem install obfuscator
Usage
As a Ruby program:
Obfuscator.scrub! "Message" do
overwrite :title, :body, :created_at
end
Obfuscator.scrub! "User" do
overwrite :login do
format :user_name
end
overwrite :email_address do
format :email
end
end
Or as a Rake task:
rake obfuscator:scrub[User] COLUMNS=login,email
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
TODO
- Reflect on model validations to ensure generated data is valid
- Make DSL more flexible about taking both arrays and hashes of columns
with options
- Move away from iterating through batches of records and calling
update_attributes by constructing an update_all