Sha256: 1ac123aa62cbd3e4449b07eb07d88feefe0c326851526192f8e52c1f95cd0248
Contents?: true
Size: 776 Bytes
Versions: 2
Compression:
Stored size: 776 Bytes
Contents
# frozen_string_literal: true require "async" require "async/barrier" module Qravan # Requests processing class class Request attr_accessor :resources, :sources, :cargo def initialize(request, cargo = {}) @query = request["query"] @credentials = request["credentials"] @resources = [] @cargo ||= cargo validate extract_resources end def validate @query end def extract_resources barrier = Async::Barrier.new barrier.async do @query.each do |key, resource| @resources << { key => Qravan::Resource.new(key, resource, cargo).extract } end ensure @resources end barrier.wait end def credentials @credentials end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
qravan-0.1.1 | lib/qravan/query/request.rb |
qravan-0.1.0 | lib/qravan/query/request.rb |