class Securetrading::Connection

Attributes

config_options[R]

Public Instance Methods

to_xml() click to toggle source
# File lib/securetrading/connection.rb, line 16
def to_xml
  Ox.dump(ox_xml)
end

Private Instance Methods

config() click to toggle source
# File lib/securetrading/connection.rb, line 24
def config
  @config ||= configuration
end
configuration() click to toggle source
# File lib/securetrading/connection.rb, line 28
def configuration
  return Securetrading.config unless config_options.present?
  Configuration.new(config_options)
end
doc() click to toggle source
# File lib/securetrading/connection.rb, line 33
def doc
  @doc ||= XmlDoc.new(request_type, @account_type, config.user).doc
end
dynamic_headers() click to toggle source
# File lib/securetrading/connection.rb, line 52
def dynamic_headers
  { 'Authorization' => "Basic #{config.auth}" }
end
ox_xml() click to toggle source
# File lib/securetrading/connection.rb, line 41
def ox_xml
  fail NotImplementedError, 'Implement :ox_xml method in sub-class!'
end
perform_with(method, xml, options = {}) click to toggle source
# File lib/securetrading/connection.rb, line 45
def perform_with(method, xml, options = {})
  party = self.class.public_send(
    method, '/', options.merge(body: xml, headers: dynamic_headers)
  )
  Securetrading::Response.new(party)
end
prepare_doc() { || ... } click to toggle source
# File lib/securetrading/connection.rb, line 56
def prepare_doc
  return doc if xml_prepared?
  yield
  @xml_prepared = true
  doc
end
request_type() click to toggle source
# File lib/securetrading/connection.rb, line 37
def request_type
  fail NotImplementedError, 'Implement :request_type method in sub-class!'
end
xml_prepared?() click to toggle source
# File lib/securetrading/connection.rb, line 63
def xml_prepared?
  @xml_prepared
end