class Credigy::Request

Public Instance Methods

basic_config() click to toggle source
# File lib/credigy/request.rb, line 35
def basic_config
  { wsdl: wsdl, log: Credigy.configuration.verbose }
end
call() click to toggle source
# File lib/credigy/request.rb, line 5
def call
  response_class.new(response, self).tap do |response|
    raise "Falha ao chamar operação #{operation}: #{response.body}" unless response.success?
  end
end
client() click to toggle source
# File lib/credigy/request.rb, line 19
def client
  @client ||= Savon.client(config_options)
end
config_options() click to toggle source
# File lib/credigy/request.rb, line 31
def config_options
  basic_config.merge(extra_config_options)
end
extra_config_options() click to toggle source
# File lib/credigy/request.rb, line 39
def extra_config_options
  { soap_header: soap_header, env_namespace: :soapenv, namespace_identifier: :cred }
end
message() click to toggle source
# File lib/credigy/request.rb, line 27
def message
  {}
end
operation() click to toggle source
# File lib/credigy/request.rb, line 23
def operation
  raise NotImplementedError
end
response() click to toggle source
# File lib/credigy/request.rb, line 15
def response
  client.call(operation, message: message)
end
response_class() click to toggle source
# File lib/credigy/request.rb, line 11
def response_class
  Object.const_get("#{self.class}Response")
end
soap_header() click to toggle source
# File lib/credigy/request.rb, line 43
def soap_header
  {}
end
wsdl() click to toggle source
# File lib/credigy/request.rb, line 47
def wsdl
  Credigy.configuration.wsdl
end