lib/nazrin/data_accessor/mongoid.rb in nazrin-2.6.2 vs lib/nazrin/data_accessor/mongoid.rb in nazrin-2.6.3
- old
+ new
@@ -1,22 +1,19 @@
module Nazrin
class DataAccessor
class Mongoid < Nazrin::DataAccessor
def load_all(ids)
documents_table = {}
- options.each do |k, v|
- @model = if v.nil?
- model.send(k)
- else
- model.send(k, v)
- end
+
+ relation = options.reduce(model) do |rel, send_args|
+ rel.send(*send_args.compact)
end
- model.where('_id' => { '$in' => ids }).each do |document|
+
+ relation.where('_id' => { '$in' => ids }).each do |document|
documents_table[document._id.to_s] = document
end
- ids.map do |id|
- documents_table[id]
- end.reject(&:nil?)
+
+ documents_table.values_at(*ids.map(&:to_s)).compact
end
def data_from_response(res)
res.data.hits.hit.map(&:id)
end