# File lib/mince_mongo_db/interface.rb, line 10 def self.primary_key Config.primary_key end
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
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