class Celsius::Primo::Adapter::Search

Public Instance Methods

call(search_request, options = {}) click to toggle source
# File lib/celsius/primo/adapter/search.rb, line 5
def call(search_request, options = {})
  unless search_request.is_a?(Hash)
    raise ArgumentError, "The search request has to be a hash!"
  end

  options = deep_stringify(options)

  if(options["languages"] ||= adapter.languages).nil?
    raise ArgumentError, "languages is missing!"
  end

  if(options["locations"] ||= adapter.locations).nil?
    raise ArgumentError, "locations is missing!"
  end

  if(options["institution"] ||= adapter.institution).nil?
    raise ArgumentError, "institution is missing!"
  end

  @adapter.soap_api.searcher.searchBrief search_request, options.merge({
    timeout: options["timeout"] || adapter.timeout
  })
end