Sha256: 555089e3123fc9cd0b3b03544139e2a7f2fb38b8920a13fcd4e459aaa58f07bd
Contents?: true
Size: 1.01 KB
Versions: 1
Compression:
Stored size: 1.01 KB
Contents
# coding: utf-8 require 'libis-tools' require 'libis/services/service_error' require 'libis/services/rest_client' module Libis module Services module Alma class SruService include ::Libis::Services::RestClient def initialize(url = 'https://eu.alma.exlibrisgroup.com/view/sru') configure(url) end def search(field, value, library = '32KUL_LIBIS_NETWORK') result = get library, version: '1.2', operation: 'searchRetrieve', recordSchema: 'marcxml', query: "#{field}=#{value}" unless result['//diag:diagnostic'].blank? raise Libis::Services::ServiceError, "#{result['/searchRetrieveResponse/diag:diagnostic/diag:message']}" end result.xpath('//record').map do |record| Libis::Tools::XmlDocument.parse(record.to_s) end end protected def result_parser(response) Libis::Tools::XmlDocument.parse(response) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
libis-services-0.1.3 | lib/libis/services/alma/sru_service.rb |