class Libis::Services::Digitool::DigitoolConnector
Public Class Methods
new(service, host = nil)
click to toggle source
# File lib/libis/services/digitool/digitool_connector.rb, line 13 def initialize(service, host = nil) @host = host || 'aleph08.libis.kuleuven.be:1801' @service = service.to_s.downcase end
Public Instance Methods
init()
click to toggle source
# File lib/libis/services/digitool/digitool_connector.rb, line 18 def init @base_url = "http://#{@host}/de_repository_web/services/" @wsdl_extension = '?wsdl' end
Protected Instance Methods
get_xml_response(response)
click to toggle source
# File lib/libis/services/digitool/digitool_connector.rb, line 39 def get_xml_response(response) response.first[1][response.first[1][:result].snakecase.to_sym] end
result_parser(response, options = {})
click to toggle source
# File lib/libis/services/digitool/digitool_connector.rb, line 25 def result_parser(response, options = {}) result = get_xml_response(response) error = nil pids = nil mids = nil de = nil doc = Libis::Tools::XmlDocument.parse(result) doc.xpath('//error_description').each { |x| error ||= []; error << x.content unless x.content.nil? } doc.xpath('//pid').each { |x| pids ||= []; pids << x.content unless x.content.nil? } doc.xpath('//mid').each { |x| mids ||= []; mids << x.content unless x.content.nil? } doc.xpath('//xb:digital_entity').each { |x| de ||= []; de << x.to_s } {errors: error, pids: pids, mids: mids, digital_entities: de} end