module DbObfuscation
Constants
- DB
- ROOT
- VERSION
Attributes
config_dir[RW]
logging[RW]
Public Instance Methods
obfuscate(step)
click to toggle source
# File lib/db_obfuscation.rb, line 10 def obfuscate(step) config = Filtering.obfuscation_config([:string]) config.each do |table, cfg| DbObfuscation.logging.info "Obfuscating #{table}" update(table, cfg, step) end end
Private Instance Methods
date_columns(config)
click to toggle source
# File lib/db_obfuscation.rb, line 34 def date_columns(config) config.select do |k,v| v == :date_strategy end.keys end
ids(table)
click to toggle source
# File lib/db_obfuscation.rb, line 40 def ids(table) DB[table].map(:id) end
multi_update(table, batch, date_columns)
click to toggle source
# File lib/db_obfuscation.rb, line 44 def multi_update(table, batch, date_columns) sql_query = QueryBuilder.multi_update_sql(table, batch, date_columns) DB.run sql_query end
update(table, config, step)
click to toggle source
# File lib/db_obfuscation.rb, line 20 def update(table, config, step) ids(table).each_slice(step) do |ids| begin batch = BatchFormulator.batch_for(config, ids) date_columns = date_columns(config) multi_update(table, batch, date_columns) unless batch.empty? rescue => e DbObfuscation.logging.error 'Encountered Exception' DbObfuscation.logging.error "#{table} encountered #{e.message}" DbObfuscation.logging.error e.backtrace end end end