class DataAnon::Strategy::MongoDB::Whitelist
Public Class Methods
Public Instance Methods
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
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
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
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
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
# File lib/strategy/mongodb/whitelist.rb, line 34 def source_collection @source_collection ||= mongo_collection(@source_database) end
Also aliased as: source_table