Sha256: 34a520e04dccd8697b3f2bff65d4c8b081c5bf8c00b4d5f3af13ceae3bf51017
Contents?: true
Size: 1.35 KB
Versions: 2
Compression:
Stored size: 1.35 KB
Contents
require 'faraday' require 'faraday_middleware' require 'nokogiri' module Zuora class Client attr_accessor :session_token INSTANCE_VARIABLE_LOG_BLACKLIST = [:@username, :@password].freeze def initialize(username, password, sandbox = true) @username = username @password = password @sandbox = sandbox end # Delegate SOAP methods to SOAP client def call!(*args) soap_client.call!(*args) end # Delegate REST methods to REST client [:post, :put, :get, :delete].each do |method| define_method(method) do |*args| rest_client.send(method, *args) end end # Like Object.to_s, except excludes BLACKLISTed instance vars def to_s public_vars = instance_variables.reject do |var| INSTANCE_VARIABLE_LOG_BLACKLIST.include? var end public_vars.map! do |var| "#{var}=\"#{instance_variable_get(var)}\"" end public_vars = public_vars.join(' ') "<##{self.class}:#{object_id.to_s(8)} #{public_vars}>" end alias inspect to_s private # Lazily connects SOAP / RESTS clients when needed; memoizes results def soap_client @soap_client ||= Zuora::Soap::Client.new(@username, @password, @sandbox) end def rest_client @rest_client ||= Zuora::Rest::Client.new(@username, @password, @sandbox) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
zuora-ruby-0.6.0 | lib/zuora/client.rb |
zuora-ruby-0.5.0 | lib/zuora/client.rb |