Class: Libis::Services::Primo::Limo

Inherits:
Object
  • Object
show all
Includes:
RestClient
Defined in:
lib/libis/services/primo/limo.rb

Instance Attribute Summary

Attributes included from RestClient

#client

Instance Method Summary collapse

Methods included from RestClient

#configure, #get, #post_data, #post_url, #put_data, #put_url

Constructor Details

#initialize(url = 'http://limo.libis.be') ⇒ Limo

Returns a new instance of Limo.



13
14
15
# File 'lib/libis/services/primo/limo.rb', line 13

def initialize(url = 'http://limo.libis.be')
  configure(url)
end

Instance Method Details

#get_marc(alma_id) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/libis/services/primo/limo.rb', line 17

def get_marc(alma_id)
  result = get "primo_library/libweb/jqp/record/#{alma_id}.xml"
  return result if result.is_a?(Libis::Tools::XmlDocument)

  raise Libis::Services::ServiceError, "#{result[:error_type]} - #{result[:error_name]}" if result[:error_type]
  raise Libis::Services::ServiceError, "Unexpected reply: '#{result.to_s}' (#{result.class})"
end

#get_pnx(alma_id) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/libis/services/primo/limo.rb', line 25

def get_pnx(alma_id)
  result = get "primo_library/libweb/jqp/record/#{alma_id}.pnx"
  return result if result.is_a?(Libis::Tools::XmlDocument)

  raise Libis::Services::ServiceError, "#{result[:error_type]} - #{result[:error_name]}" if result[:error_type]
  raise Libis::Services::ServiceError, "Unexpected reply: '#{result.to_s}' (#{result.class})"
end