Class: CardDB::Rails::GraphQL::DeckByExternalRefLoader

Inherits:
GraphQL::Batch::Loader
  • Object
show all
Defined in:
lib/carddb/rails/graphql/deck_loader.rb

Instance Method Summary collapse

Constructor Details

#initialize(client: nil) ⇒ DeckByExternalRefLoader

Returns a new instance of DeckByExternalRefLoader.



30
31
32
33
# File 'lib/carddb/rails/graphql/deck_loader.rb', line 30

def initialize(client: nil)
  super()
  @client = client
end

Instance Method Details

#perform(external_refs) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/carddb/rails/graphql/deck_loader.rb', line 35

def perform(external_refs)
  client = @client || CardDB::Rails.client

  results = client.batch do |batch|
    external_refs.each do |external_ref|
      batch.decks.get(external_ref: external_ref)
    end
  end

  external_refs.each_with_index do |external_ref, index|
    fulfill(external_ref, results[index])
  end
end