Class: Nazrin::DataAccessor::ActiveRecord

Inherits:
Nazrin::DataAccessor show all
Defined in:
lib/nazrin/data_accessor/active_record.rb

Instance Attribute Summary

Attributes inherited from Nazrin::DataAccessor

#model, #options

Instance Method Summary collapse

Methods inherited from Nazrin::DataAccessor

accessor_for, accessors, for, #initialize, register, register_accessor, registered_accessor_for, #results

Constructor Details

This class inherits a constructor from Nazrin::DataAccessor

Instance Method Details

#data_from_response(res) ⇒ Object



19
20
21
# File 'lib/nazrin/data_accessor/active_record.rb', line 19

def data_from_response(res)
  res.data.hits.hit.map(&:id)
end

#load_all(ids) ⇒ Object

load from activerecord



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/nazrin/data_accessor/active_record.rb', line 5

def load_all(ids)
  records_table = {}

  relation = options.reduce(model) do |rel, (k, v)|
    rel.send(k, v)
  end

  relation.where(id: ids).each do |record|
    records_table[record.id.to_s] = record
  end

  records_table.values_at(*ids.map(&:to_s)).compact
end