class DataAnon::Strategy::MongoDB::Whitelist
Public Class Methods
whitelist?()
click to toggle source
# File lib/strategy/mongodb/whitelist.rb, line 12 def self.whitelist? true end
Public Instance Methods
anonymize_document(document, index, field_strategies = {})
click to toggle source
# File lib/strategy/mongodb/whitelist.rb, line 45 def anonymize_document document, index, field_strategies = {} anonymized_document = {} document.each do |field_name, field_value| field_strategy = field_strategies[field_name] if field_strategies.kind_of?(Hash) unless field_value.nil? field = DataAnon::Core::Field.new(field_name, field_value, index, document, @name) anonymized_document[field.name] = AnonymizeField.new(field, field_strategy, self).anonymize end end anonymized_document end
collection(field, &block)
click to toggle source
# File lib/strategy/mongodb/whitelist.rb, line 16 def collection field, &block whitelist = self.class.new @source_database, @destination_database, @name, @user_strategies whitelist.process_fields &block @fields[field] = whitelist.fields end
Also aliased as: document
dest_collection()
click to toggle source
# File lib/strategy/mongodb/whitelist.rb, line 29 def dest_collection database = @destination_database @dest_collection ||= mongo_collection(database) end
Also aliased as: dest_table
mongo_collection(database)
click to toggle source
# File lib/strategy/mongodb/whitelist.rb, line 24 def mongo_collection(database) options = database[:options] || {} Mongo::Client.new(database[:mongodb_uri], options).database.collection(@name) end
process_record(index, document)
click to toggle source
# File lib/strategy/mongodb/whitelist.rb, line 41 def process_record index, document dest_collection.insert_one anonymize_document(document, index, @fields) end
source_collection()
click to toggle source
# File lib/strategy/mongodb/whitelist.rb, line 34 def source_collection @source_collection ||= mongo_collection(@source_database) end
Also aliased as: source_table