Class: DataAnon::Strategy::Blacklist
- Defined in:
- lib/strategy/blacklist.rb
Instance Attribute Summary
Attributes inherited from Base
#errors, #fields, #fields_missing_strategy, #user_strategies
Instance Method Summary collapse
Methods inherited from Base
#anonymize, #batch_size, #continue, #default_strategy, #dest_table, #initialize, #is_primary_key?, #limit, #primary_key, #process, #process_fields, #process_record_if, #process_table, #process_table_in_batches, #process_table_in_threads, #progress_bar, #progress_bar_class, #skip, #source_table, #source_table_limited, #thread_num, #whitelist, whitelist?
Methods included from Utils::Logging
Constructor Details
This class inherits a constructor from DataAnon::Strategy::Base
Instance Method Details
#process_record(index, record) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/strategy/blacklist.rb', line 5 def process_record index, record updates = {} @fields.each do |field, strategy| database_field_name = record.attributes.select { |k,v| k == field }.keys[0] field_value = record.attributes[database_field_name] unless field_value.nil? || is_primary_key?(database_field_name) field = DataAnon::Core::Field.new(database_field_name, field_value, index, record, @name) updates[database_field_name] = strategy.anonymize(field) end end record.update_columns(updates) if updates.any? end |