module MinceMongoDb::Interface

Public Class Methods

add(collection_name, hash) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 22
def self.add(collection_name, hash)
  collection(collection_name).insert(hash)
end
all_before(collection_name, key, value) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 66
def self.all_before(collection_name, key, value)
  collection(collection_name).find({key.to_s => {"$lt" => value}})
end
array_contains(collection_name, key, value) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 74
def self.array_contains(collection_name, key, value)
  collection(collection_name).find(key.to_s => value)
end
clear() click to toggle source
# File lib/mince_mongo_db/interface.rb, line 78
def self.clear
  db.collection_names.each do |collection_name|
    db.drop_collection collection_name unless collection_name.include?('system')
  end
end
collection(collection_name) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 108
def self.collection(collection_name)
  DataStore.collection(collection_name)
end
containing_any(collection_name, key, values) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 70
def self.containing_any(collection_name, key, values)
  collection(collection_name).find({key.to_s => {"$in" => values}})
end
data() click to toggle source
# File lib/mince_mongo_db/interface.rb, line 102
def self.data
  db.collection_names.map do |collection_name|
    find_all collection_name
  end
end
db() click to toggle source
# File lib/mince_mongo_db/interface.rb, line 112
def self.db
  DataStore.db
end
delete_by_params(collection_name, params) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 18
def self.delete_by_params(collection_name, params)
  collection(collection_name).remove(params)
end
delete_collection(collection_name) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 84
def self.delete_collection(collection_name)
  collection(collection_name).drop
end
delete_field(collection_name, key) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 14
def self.delete_field(collection_name, key)
  collection(collection_name).update({}, {"$unset" => { key => 1 } }, multi: true)
end
find(collection_name, value) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 54
def self.find(collection_name, value)
  collection(collection_name).find_one({primary_key.to_s => value})
end
find_all(collection_name) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 50
def self.find_all(collection_name)
  collection(collection_name).find
end
generate_unique_id(*args) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 6
def self.generate_unique_id(*args)
  BSON::ObjectId.new.to_s
end
get_all_for_key_with_value(collection_name, key, value) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 38
def self.get_all_for_key_with_value(collection_name, key, value)
  get_by_params(collection_name, key.to_s => value)
end
get_by_params(collection_name, hash) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 46
def self.get_by_params(collection_name, hash)
  collection(collection_name).find(hash)
end
get_for_key_with_value(collection_name, key, value) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 42
def self.get_for_key_with_value(collection_name, key, value)
  get_all_for_key_with_value(collection_name, key, value).first
end
increment_field_by_amount(collection_name, primary_key_value, field_name, amount) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 34
def self.increment_field_by_amount(collection_name, primary_key_value, field_name, amount)
  collection(collection_name).update({primary_key => primary_key_value}, {'$inc' => { field_name => amount } })
end
insert(collection_name, data) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 88
def self.insert(collection_name, data)
  data.each do |datum|
    add collection_name, datum
  end
end
primary_key() click to toggle source
# File lib/mince_mongo_db/interface.rb, line 10
def self.primary_key
  Config.primary_key
end
push_to_array(collection_name, identifying_value, array_key, value_to_push) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 58
def self.push_to_array(collection_name, identifying_value, array_key, value_to_push)
  collection(collection_name).update({primary_key.to_s => identifying_value}, {'$push' => {array_key.to_s => value_to_push}})
end
remove_from_array(collection_name, identifying_value, array_key, value_to_remove) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 62
def self.remove_from_array(collection_name, identifying_value, array_key, value_to_remove)
  collection(collection_name).update({primary_key.to_s => identifying_value}, {'$pull' => {array_key.to_s => value_to_remove}})
end
replace(collection_name, hash) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 26
def self.replace(collection_name, hash)
  collection(collection_name).update({primary_key => hash[primary_key]}, hash)
end
set_data(data) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 94
def self.set_data(data)
  clear

  data.each do |key, value|
    insert key, value
  end
end
update_field_with_value(collection_name, primary_key_value, field_name, new_value) click to toggle source
# File lib/mince_mongo_db/interface.rb, line 30
def self.update_field_with_value(collection_name, primary_key_value, field_name, new_value)
  collection(collection_name).update({primary_key => primary_key_value}, {'$set' => { field_name => new_value } })
end