class Libis::Services::Rosetta::ProducerHandler

Public Class Methods

new(base_url = 'https://repository.teneo.libis.be', options = {}) click to toggle source
Calls superclass method Libis::Services::Rosetta::Client::new
# File lib/libis/services/rosetta/producer_handler.rb, line 16
def initialize(base_url = 'https://repository.teneo.libis.be', options = {})
  super 'backoffice', 'ProducerWebServices', {url: base_url}.merge(options)
end

Public Instance Methods

agent(agent_id, agent_info = nil) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 52
def agent(agent_id, agent_info = nil)
  if agent_info
    info = agent(agent_id)
    return nil if info.nil?
    (agent_info.is_a?(Rosetta::ProducerAgent) ? agent_info.attributes : agent_info).each do |name, value|
      info[name] = value
    end
    call :update_producer_agent, arg0: @pds_handle, arg1: agent_id, arg2: info.to_xml
  else
    request_object :get_producer_agent, Rosetta::ProducerAgent, arg0: @pds_handle, arg1: agent_id
  end
end
agent_producers(agent_id, institution = nil) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 83
def agent_producers(agent_id, institution = nil)
  if institution
    request_array :get_producers_of_producer_agent_with_ins, arg0: agent_id, arg1: institution
  else
    request_array :get_producers_of_producer_agent, arg0: agent_id
  end
end
contact(contact_id, contact_info = nil) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 91
def contact(contact_id, contact_info = nil)
  if contact_info
    info = contact(contact_id)
    return nil if info.nil?
    (contact_info.is_a?(Rosetta::User) ? contact_info.attributes : contact_info).each do |name, value|
      info[name] = value
    end
    call :update_contact, arg0: @pds_handle, arg1: contact_id, arg2: info.to_xml
  else
    request_object :get_contact, Rosetta::User, arg0: @pds_handle, arg1: contact_id
  end
end
delete_agent(agent_id) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 71
def delete_agent(agent_id)
  call :remove_producer_agent, arg0: @pds_handle, arg1: agent_id
end
delete_contact(contact_id) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 110
def delete_contact(contact_id)
  call :remove_contact, arg0: @pds_handle, arg1: contact_id
end
delete_producer(producer_id) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 48
def delete_producer(producer_id)
  call :remove_producer, arg0: @pds_handle, arg1: producer_id
end
is_user?(user_id) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 24
def is_user?(user_id)
  data = call :is_user_exists, arg0: @pds_handle, arg1: user_id
  data == "User name #{user_id} already exists"
end
material_flows(producer_id) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 123
def material_flows(producer_id)
  request_array :get_material_flows_of_producer, arg0: producer_id
end
new_agent(agent_info) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 65
def new_agent(agent_info)
  # noinspection RubyArgCount
  agent_info = Rosetta::ProducerAgent.new(agent_info) unless agent_info.is_a?(Rosetta::ProducerAgent)
  call :create_producer_agent, arg0: @pds_handle, arg1: agent_info.to_xml
end
new_contact(contact_info) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 104
def new_contact(contact_info)
  # noinspection RubyArgCount
  contact_info = Rosetta::User.new(contact_info) unless contact_info.is_a?(Rosetta::User)
  call :create_contact, arg0: @pds_handle, arg1: contact_info.to_xml
end
new_producer(producer_info) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 42
def new_producer(producer_info)
  # noinspection RubyArgCount
  producer_info = Rosetta::Producer.new(producer_info) unless producer_info.is_a?(Rosetta::Producer)
  call :create_producer, arg0: @pds_handle, arg1: producer_info.to_xml
end
producer(producer_id, producer_info = nil) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 29
def producer(producer_id, producer_info = nil)
  if producer_info
    info = producer(producer_id)
    return nil if info.nil?
    (producer_info.is_a?(Rosetta::Producer) ? producer_info.attributes : producer_info).each do |name, value|
      info[name] = value
    end
    call :update_producer, arg0: @pds_handle, arg1: producer_id, arg2: info.to_xml
  else
    request_object :get_producer_details, Rosetta::Producer, arg0: @pds_handle, arg1: producer_id
  end
end
user_id(external_id) click to toggle source
# File lib/libis/services/rosetta/producer_handler.rb, line 20
def user_id(external_id)
  call :get_internal_user_id_by_external_id, arg0: external_id
end