Omelettes
Basic Usage
gem install omelettes
rails g omelettes:config
rake db:cook
Configuration
After running 'rails g omelettes:config' you will find a config file in 'config/initializers/omelettes.rb'
Omelettes.setup do |config|
# Ignore tables or columns using strings or regular expressions
config.ignore_tables = ["schema_migrations", "my_reporting_table", /(a-z_)user/]
config.ignore_columns = [/(a-z_)*type/i, "name", "city"]
# Override non-standard table names => classes like this
# config.models['admin_users'] = Admin::User
# Override model specific columns
User.treat(:nickname).as(:name)
Person.scramble(:street) {|value| "#{value.reverse}"}
# Freeze / Ignore columns on specific models
User.harden(:password)
# To make a normally "Faker" obfuscated column behave normally, override with :omelette
User.scramble(:name).as(:omelette)
# To override the model associated with a specific table, make sure and specify it here:
config.models['logins'] = User
# Cleanup data in post
config.cleanup do
Notifications.delete_all
end
end
By default, the following columns will be Faker-ified (replaced with faker info RATHER than obfuscated using omelettes same-length-and-initial-character)
- first_name
- last_name
- city
- state
- country
- street_address
- street_name
- zip_code
- company_name
- company
- email
- user_name
- phone
- contact_phone
- url
- website
And the following can be used to 'treat' a column 'as':
- paragraph
- paragraphs
- sentence
- sentences
- words
You can also keep model-level configurations within the model itself
class User < ActiveRecord::Base
treat(:login).as(:user_name)
ignore :password
end
About
omelettets is obfuscated 'obfuscate'. Omelettes takes strings in your database and replaces them with worlds of the same length and same initial letter.