class AfipWsfe::Client
Public Class Methods
new(authenticate=true)
click to toggle source
# File lib/afip_wsfe/client.rb, line 3 def initialize(authenticate=true) AfipWsfe.environment ||= :test @auth = authenticate ? AfipWsfe.auth_hash : {} end
Public Instance Methods
call_endpoint(endpoint, savon_method, params={})
click to toggle source
# File lib/afip_wsfe/client.rb, line 8 def call_endpoint(endpoint, savon_method, params={}) return_key = endpoint == :wsaa ? :"#{savon_method}_return" : :"#{savon_method}_result" result = Savon.client( log: AfipWsfe.log?, log_level: AfipWsfe.log_level || :debug, wsdl: "#{AfipWsfe::URLS[AfipWsfe.environment][endpoint]}?wsdl", convert_request_keys_to: :camelcase ).call(savon_method, message: params.merge(@auth)) response = result.body[:"#{savon_method}_response"][return_key] response = Hash.from_xml response if endpoint == :wsaa [result.success?, response] end