class Biro::Midia100::Request

Public Instance Methods

find(document, options = {}) click to toggle source
# File lib/biro/gateways/midia100/request.rb, line 14
def find(document, options = {})
  responses = { registration: soap.call(:consultar, message: params(document)) }
  verify_response responses

  [:rf, :equity, :job, :default].each do |i|
    if options.keys.include?("include_#{i}".to_sym)
      begin
        responses[i] = soap.call(:consultar, message: params(document, SearchType.by(i)))
      rescue
        Biro.log(:warn, "Unable to process Midia100 #{i} request")
        raise StandardError.new("Error at Midia100 request: #{e.message}")
      end
    end
  end

  Response.new(responses)
end
production_url() click to toggle source
# File lib/biro/gateways/midia100/request.rb, line 6
def production_url
  'http://177.70.121.160/WSSisconsulta/consulta.asmx?wsdl'
end
required_params() click to toggle source
# File lib/biro/gateways/midia100/request.rb, line 10
def required_params
  [:username, :password]
end

Private Instance Methods

params(document, search_type = SearchType.by(:registration)) click to toggle source
# File lib/biro/gateways/midia100/request.rb, line 44
def params(document, search_type = SearchType.by(:registration))
  { 'usuario' => @username, 'senha' => @password, 'CodConsulta' => search_type, 'parametros' => document }
end
savon_options() click to toggle source
# File lib/biro/gateways/midia100/request.rb, line 34
def savon_options
  {  strip_namespaces: false  }
end
verify_response(responses) click to toggle source
# File lib/biro/gateways/midia100/request.rb, line 38
def verify_response responses
  raise AuthenticationError.new("Error at Midia100 request: #{responses[:registration].body[:consultar_response][:consultar_result]}") if responses[:registration]&.body[:consultar_response][:consultar_result]&.include? "Usuário ou Senha Estão Incorretos"
  raise DocumentNotFoundError.new("Error at Midia100 request: #{responses[:registration].body[:consultar_response][:consultar_result]}") if responses[:registration]&.body[:consultar_response][:consultar_result]&.include? "Cpf Inválido"
  raise StandardError.new("Error at Midia100 request: #{responses[:registration].body[:consultar_response][:consultar_result]}") if responses[:registration]&.body[:consultar_response][:consultar_result]&.include? "<ERRO>"
end