Method: MongoMapper::Plugins::IdentityMap::ClassMethods#find_one

Defined in:
lib/novelys_mongo_mapper/plugins/identity_map.rb

#find_one(options = {}) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/novelys_mongo_mapper/plugins/identity_map.rb', line 30

def find_one(options={})
  criteria, finder_options = to_finder_options(options)

  if simple_find?(criteria) && identity_map.key?(criteria[:_id])
    identity_map[criteria[:_id]]
  else
    super.tap do |document|
      remove_documents_from_map(document) if selecting_fields?(finder_options)
    end
  end
end