Class: MongoAdaptor
- Inherits:
-
Object
- Object
- MongoAdaptor
- Defined in:
- lib/mongo_adaptor.rb,
lib/mongo_adaptor/version.rb
Constant Summary collapse
- VERSION =
"2.0.0"
Class Method Summary collapse
Instance Method Summary collapse
- #execute(query_or_model, command, options = {}) ⇒ Object
- #fetch(selector = {}, opts = {}) ⇒ Object
- #find(selector = {}, opts = {}) ⇒ Object
-
#initialize(name, klass) ⇒ MongoAdaptor
constructor
A new instance of MongoAdaptor.
- #insert(model) ⇒ Object
- #remove(selector = {}, opts = {}) ⇒ Object
- #update(model, query = { "_id" => model.id }) ⇒ Object
- #upsert(model, query = { "_id" => model.id }) ⇒ Object
Constructor Details
#initialize(name, klass) ⇒ MongoAdaptor
Returns a new instance of MongoAdaptor.
16 17 18 19 |
# File 'lib/mongo_adaptor.rb', line 16 def initialize name, klass @collection = self.class.db.collection name.to_s.downcase @klass = klass end |
Class Method Details
.db ⇒ Object
7 8 9 |
# File 'lib/mongo_adaptor.rb', line 7 def db @db ||= Mongo::Configure.current.load end |
.db=(db) ⇒ Object
11 12 13 |
# File 'lib/mongo_adaptor.rb', line 11 def db= db @db = db end |
Instance Method Details
#execute(query_or_model, command, options = {}) ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/mongo_adaptor.rb', line 33 def execute query_or_model, command, = {} if query_or_model.is_a? Hash query = query_or_model else query = { "_id" => query_or_model.id } end @collection.update_one query, command, safe_mode.merge(upsert_mode false).merge() end |
#fetch(selector = {}, opts = {}) ⇒ Object
42 43 44 |
# File 'lib/mongo_adaptor.rb', line 42 def fetch selector = {}, opts = {} build(@collection.find(selector, { :fields => fields }.merge(opts)).first) end |
#find(selector = {}, opts = {}) ⇒ Object
50 51 52 53 54 |
# File 'lib/mongo_adaptor.rb', line 50 def find selector = {}, opts = {} @collection.find(selector, { :fields => fields }.merge(opts)).map do |model| build model end end |
#insert(model) ⇒ Object
21 22 23 |
# File 'lib/mongo_adaptor.rb', line 21 def insert model @collection.insert_one process(model), safe_mode end |
#remove(selector = {}, opts = {}) ⇒ Object
46 47 48 |
# File 'lib/mongo_adaptor.rb', line 46 def remove selector = {}, opts = {} @collection.delete_many selector, opts end |
#update(model, query = { "_id" => model.id }) ⇒ Object
29 30 31 |
# File 'lib/mongo_adaptor.rb', line 29 def update model, query = { "_id" => model.id } @collection.update_one query, set(process(model)), safe_mode.merge(upsert_mode false) end |
#upsert(model, query = { "_id" => model.id }) ⇒ Object
25 26 27 |
# File 'lib/mongo_adaptor.rb', line 25 def upsert model, query = { "_id" => model.id } @collection.update_one query, set(process(model)), safe_mode.merge(upsert_mode true) end |