class CONTENTdmAPI::RequestBatch
Make a batch of requests to the CONTENTdm API and combine them
Attributes
base_url[R]
configs[R]
requester[R]
service[R]
Public Class Methods
new(base_url: '', service_configs: [], service: Service, requester: Request)
click to toggle source
@param [String] base_url
URL to the CONTENTdm API
"http://CdmServer.com:port/dmwebservices/index.php"
@param [Array] service_configs An array of hash configurations for
individual services "http://CdmServer.com:port/dmwebservices/index.php"
@param [Object] service A Service
class to tell the Request
class
which function, params and format to request of the CONTENTdm API
@param [Object] requester A class to form requests to the ContentDM API
@return [Void]
# File lib/contentdm_api/request_batch.rb, line 15 def initialize(base_url: '', service_configs: [], service: Service, requester: Request) @service = service @configs = service_configs @base_url = base_url @requester = requester end
Public Instance Methods
fetch()
click to toggle source
Fetch data from the CONTENTdm API
@return [Array] an array of hashes containing Request
response data
# File lib/contentdm_api/request_batch.rb, line 29 def fetch responses end
Private Instance Methods
new_service(function, params)
click to toggle source
# File lib/contentdm_api/request_batch.rb, line 39 def new_service(function, params) service.new(function: function, params: params) end
request(service, base_url)
click to toggle source
# File lib/contentdm_api/request_batch.rb, line 49 def request(service, base_url) requester.new(service: service, base_url: base_url).fetch end
responses()
click to toggle source
# File lib/contentdm_api/request_batch.rb, line 43 def responses service_objects.map do |service| { service: service.function, value: request(service, base_url) } end end
service_objects()
click to toggle source
# File lib/contentdm_api/request_batch.rb, line 35 def service_objects configs.map { |s| new_service(s[:function], s.fetch(:params, [])) } end