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