19 lines
352 B
Ruby
19 lines
352 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Sources
|
|
class ActiveRecord < GraphQL::Dataloader::Source
|
|
# rubocop:disable Lint/MissingSuper
|
|
def initialize(model_class)
|
|
@model_class = model_class
|
|
end
|
|
|
|
def fetch(ids)
|
|
@model_class
|
|
.where(id: ids)
|
|
.index_by(&:id)
|
|
.slice(*ids)
|
|
.values
|
|
end
|
|
end
|
|
end
|