class Biro::Ph3a::Request
Public Instance Methods
development_url()
click to toggle source
# File lib/biro/gateways/ph3a/request.rb, line 6 def development_url 'https://ws.databusca.com.br/DataHistory.svc?wsdl' end
find(document)
click to toggle source
# File lib/biro/gateways/ph3a/request.rb, line 18 def find(document) begin @retries ||= 0 @token = nil params = {} get_parameters params, document response = soap.call(:get_person_data, message: params) Response.new(response) rescue => e Biro.log(:warn, "Unable to process Ph3a request") retry if (@retries += 1) < 3 && e.message.include?("User not authenticated") raise AuthenticationError.new("Error at PH3A request: #{e.message}") if e.message.include?("User not authenticated") raise StandardError.new("Error at PH3A request: #{e.message}") end end
production_url()
click to toggle source
# File lib/biro/gateways/ph3a/request.rb, line 10 def production_url 'https://ws.databusca.com.br/DataHistory.svc?wsdl' end
required_params()
click to toggle source
# File lib/biro/gateways/ph3a/request.rb, line 14 def required_params [:username, :password, :domain] end
Private Instance Methods
get_current()
click to toggle source
# File lib/biro/gateways/ph3a/request.rb, line 42 def get_current login_params = {} get_login_parameters login_params response = soap.call(:get_current, message: login_params) CurrentBuilder.new(response).token end
get_login_parameters(login_params)
click to toggle source
# File lib/biro/gateways/ph3a/request.rb, line 64 def get_login_parameters login_params login_params['tns:user'] = {} login_params['tns:user']['ph3a:DomainId'] = @domain login_params['tns:user']['ph3a:Password'] = @password login_params['tns:user']['ph3a:UserName'] = @username end
get_parameters(params, document)
click to toggle source
# File lib/biro/gateways/ph3a/request.rb, line 71 def get_parameters params, document params['tns:token'] = token params['tns:document'] = document end
login()
click to toggle source
# File lib/biro/gateways/ph3a/request.rb, line 51 def login login_params = {} get_login_parameters login_params begin response = soap.call(:login, message: login_params) rescue raise AuthenticationError.new('Authentication Error') end LoginBuilder.new(response).token end
savon_options()
click to toggle source
# File lib/biro/gateways/ph3a/request.rb, line 76 def savon_options { namespaces: { "xmlns:soapenv"=>"http://schemas.xmlsoap.org/soap/envelope/", "xmlns:tem"=>"http://tempuri.org/", "xmlns:ph3a"=>"http://schemas.datacontract.org/2004/07/PH3A.Viper.Web.PortalService.Models" }} end
token()
click to toggle source
# File lib/biro/gateways/ph3a/request.rb, line 38 def token @token ||= (get_current || login) end