Sha256: 2454964150da37f6c18b098be5a1d4c3fe51de4dd543e57201bc350eb57f0469
Contents?: true
Size: 865 Bytes
Versions: 1
Compression:
Stored size: 865 Bytes
Contents
module GraphQL::Batch class QueryGroup < QueryContainer def initialize(queries, &block) @pending_queries = queries.dup @pending_queries.each do |query| query.query_listener = self end @block = block raise ArgumentError, "QueryGroup requires a block" unless block end def each_query @pending_queries.each do |query_container| query_container.each_query do |query| yield query end end end def query_completed(query) @pending_queries.delete(query) if @pending_queries.empty? result = @block.call @block = nil if result.is_a?(QueryContainer) result.query_listener = self @pending_queries << result register_queries(result) else complete(result) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
graphql-batch-0.1.0 | lib/graphql/batch/query_group.rb |