class Alma::ItemRequest

Attributes

holding_id[R]
item_pid[R]

Public Class Methods

new(args) click to toggle source
Calls superclass method Alma::BibRequest::new
# File lib/alma/request.rb, line 153
def initialize(args)
  super(args)
  @holding_id = args.delete(:holding_id) { raise ArgumentError.new(":holding_id option must be specified to create request") }
  @item_pid = args.delete(:item_pid) { raise ArgumentError.new(":item_pid option must be specified to create request") }
end
submit(args) click to toggle source
# File lib/alma/request.rb, line 141
def self.submit(args)
  request = new(args)
  response = HTTParty.post(
    "#{bibs_base_path}/#{request.mms_id}/holdings/#{request.holding_id}/items/#{request.item_pid}/requests",
    query: { user_id: request.user_id },
    headers: headers,
    body: request.body.to_json
    )
  Alma::Response.new(response)
end

Public Instance Methods

additional_validation!(args) click to toggle source
# File lib/alma/request.rb, line 159
def additional_validation!(args)
  args.fetch(:description) do
    raise ArgumentError.new(
      ":description option must be specified when request_type is DIGITIZATION"
    )
  end
end