class CrvApiClient::Reproduction

Attributes

endpoint_url[R]
password[R]
username[R]

Public Class Methods

new(endpoint_url= ::CrvApiClient.configuration.endpoint_reproduction, username: ::CrvApiClient.configuration.username, password: ::CrvApiClient.configuration.password, customer: ::CrvApiClient.configuration.customer, provider: ::CrvApiClient.configuration.provider) click to toggle source
# File lib/crv_api_client/reproduction.rb, line 12
def initialize(endpoint_url= ::CrvApiClient.configuration.endpoint_reproduction,
               username: ::CrvApiClient.configuration.username,
               password: ::CrvApiClient.configuration.password,
               customer: ::CrvApiClient.configuration.customer,
               provider: ::CrvApiClient.configuration.provider)

  @endpoint_url = endpoint_url
  @username = username
  @password = password
  self.customer= ::CrvApiClient::Api::Reproduction::ParticipantId.new(customer[:participant_code], customer[:participant_code_type], customer[:country_code])
  self.provider= ::CrvApiClient::Api::Reproduction::ParticipantId.new(provider[:participant_code], provider[:participant_code_type], provider[:country_code])
end

Public Instance Methods

list_reproduction_last_parity(crv_id, country_code, context_message_detail: nil,process_code: "", options: {}) click to toggle source
# File lib/crv_api_client/reproduction.rb, line 25
def list_reproduction_last_parity(crv_id, country_code, context_message_detail: nil,process_code: "", options: {})
  keeper, context_message_detail = keeper_and_context_message_detail(crv_id,country_code)
  context = context_message(keeper,
                            username: @username,
                            password: @password,
                            context_message_detail: context_message_detail,
                            customer: customer,
                            provider: provider,
                            process_code: process_code,
                            animal: nil,
                            organisation: nil)


  animal_request = [ participant_animal_request("TRP","PED") ]
  animal_request_list = list_participant_animal_request("SHORT", animal_request)
  requestType = list_reproduction_last_parity_request_type(keeper, animal_request_list)
  request = CrvApiClient::Api::Reproduction::ListReproductionLastParityRequest.new
  request.contextMessage = context
  request.requestMessage = requestType

  result = driver.listReproductionLastParity(request)

  perform_service_message_validation(result.serviceMessage) unless options[:validate] == false

  result
end

Private Instance Methods

driver() click to toggle source
# File lib/crv_api_client/reproduction.rb, line 76
def driver
  @driver ||= begin
    cert_store = OpenSSL::X509::Store.new
    cert_store.set_default_paths

    animal_soap_driver = CrvApiClient::Api::Reproduction::RsReproductionPortType.new(@endpoint_url)
    animal_soap_driver.options['protocol.http.connect_timeout'] = CrvApiClient.configuration.http_connect_timeout || 220
    animal_soap_driver.options['protocol.http.receive_timeout'] = CrvApiClient.configuration.http_receive_timeout || 220
    animal_soap_driver.options['protocol.http.ssl_config.cert_store'] = cert_store
    animal_soap_driver.wiredump_file_base = CrvApiClient.configuration.log_file
    animal_soap_driver
  end
end
list_participant_animal_request(list_type, participant_animal_request) click to toggle source
# File lib/crv_api_client/reproduction.rb, line 62
def list_participant_animal_request(list_type, participant_animal_request)
  animal_request_list = CrvApiClient::Api::Reproduction::ListParticipantAnimalRequest.new
  animal_request_list.listType = list_type
  animal_request_list.participantAnimalRequest = participant_animal_request
  animal_request_list
end
list_reproduction_last_parity_request_type(keeper, participant_animal_request) click to toggle source
# File lib/crv_api_client/reproduction.rb, line 69
def list_reproduction_last_parity_request_type(keeper, participant_animal_request)
  requestType = CrvApiClient::Api::Reproduction::ListReproductionLastParityRequestType.new
  requestType.keeper = keeper
  requestType.participantAnimalRequest = participant_animal_request
  requestType
end
participant_animal_request(number_type, number_sub_type) click to toggle source
# File lib/crv_api_client/reproduction.rb, line 55
def participant_animal_request(number_type, number_sub_type)
  animal_request = CrvApiClient::Api::Reproduction::ParticipantAnimalRequest.new
  animal_request.numberType = number_type
  animal_request.numberSubType = number_sub_type
  animal_request
end