class CorreiosSigep::LogisticReverse::CollectNumberActions::ProcessValidRequest

Public Class Methods

new(response) click to toggle source
# File lib/correios_sigep/logistic_reverse/collect_number_actions/process_valid_request.rb, line 5
def initialize(response)
  @response = response
end

Public Instance Methods

run() click to toggle source
# File lib/correios_sigep/logistic_reverse/collect_number_actions/process_valid_request.rb, line 9
def run
  result_node = @response.search('//resultado_solicitacao')
  code = result_node.search('//codigo_erro').text.to_i

  if Models::CorreiosResponseCodes::SUCCESS != code
    error_message = @response.search('//descricao_erro').text
    raise Models::Errors::InvalidSolicitation.new(error_message)
  end

  result = result_node.search('//numero_coleta')
  result.first.text
end