class DataAnon::Strategy::Whitelist

Public Class Methods

whitelist?() click to toggle source
# File lib/strategy/whitelist.rb, line 5
def self.whitelist?
  true
end

Public Instance Methods

process_record(index, record) click to toggle source
# File lib/strategy/whitelist.rb, line 9
def process_record(index, record)
  dest_record_map = {}
  record.attributes.each do |field_name, field_value|
    unless field_value.nil? || is_primary_key?(field_name)
      field = DataAnon::Core::Field.new(field_name, field_value, index, record, @name)
      field_strategy = @fields[field_name] || default_strategy(field_name)
      dest_record_map[field_name] = field_strategy.anonymize(field)
    end
  end
  dest_record = dest_table.new dest_record_map
  @primary_keys.each do |key|
    dest_record[key] = record[key]
  end
  dest_record.save!
end