Method: GraphQL::Dataloader::ActiveRecordSource#fetch
- Defined in:
- lib/graphql/dataloader/active_record_source.rb
#fetch(record_ids) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/graphql/dataloader/active_record_source.rb', line 32 def fetch(record_ids) records = @model_class.where(@find_by => record_ids) record_lookup = {} if @find_by_many records.each do |r| key = @find_by.map { |fb| r.public_send(fb) } record_lookup[key] = r end else records.each { |r| record_lookup[r.public_send(@find_by)] = r } end record_ids.map { |id| record_lookup[id] } end |