Sha256: 4a5f00fd3caffcd37f7553307aa993e79079911e949d7e9157e4e0792670d831

Contents?: true

Size: 748 Bytes

Versions: 3

Compression:

Stored size: 748 Bytes

Contents

# frozen_string_literal: true

module Alma
  class ItemRequestOptions < RequestOptions
    class ResponseError < Alma::StandardError
    end

    def self.get(mms_id, holding_id = nil, item_pid = nil, options = {})
      url = "#{bibs_base_path}/#{mms_id}/holdings/#{holding_id}/items/#{item_pid}/request-options"
      options.select! { |k, _|  REQUEST_OPTIONS_PERMITTED_ARGS.include? k }
      response = HTTParty.get(url, headers: headers, query: options, timeout: timeout)
      new(response)
    end

    def validate(response)
      if response.code != 200
        message = "Could not get item request options."
        log = loggable.merge(response.parsed_response)
        raise ResponseError.new(message, log)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
alma-0.4.0 lib/alma/item_request_options.rb
alma-0.3.3 lib/alma/item_request_options.rb
alma-0.3.2 lib/alma/item_request_options.rb