class Colppy::Client
Constants
- SERVICES_MANIFEST
Public Class Methods
new(auth_user, auth_pass, user, mode = "sandbox")
click to toggle source
# File lib/colppy/client.rb, line 7 def initialize(auth_user, auth_pass, user, mode = "sandbox") ensure_user_valid!(user) @auth_user = auth_user @auth_pass = md5(auth_pass) @gateway = Core::Gateway.new(mode) if user @user = user sign_in end end
Public Instance Methods
call(service, operation, params)
click to toggle source
# File lib/colppy/client.rb, line 30 def call(service, operation, params) request_payload = request_base(service, operation).merge(parameters: params) @gateway.call(request_payload)[:response] if request_payload end
inspect()
click to toggle source
# File lib/colppy/client.rb, line 20 def inspect formatted_attrs = attr_inspect.map do |attr| "#{attr}: #{send(attr).inspect}" end "#<#{self.class.name} #{formatted_attrs.join(", ")}>" end
Private Instance Methods
attr_inspect()
click to toggle source
# File lib/colppy/client.rb, line 38 def attr_inspect [:session_key] end
request_base(service, operation)
click to toggle source
# File lib/colppy/client.rb, line 42 def request_base(service, operation) service = request_for!(service, operation) { auth: { usuario: @auth_user, password: @auth_pass }, service: service } end
request_for!(service, operation)
click to toggle source
# File lib/colppy/client.rb, line 54 def request_for!(service, operation) unless SERVICES_MANIFEST.keys.include?(service) error = "There is no :#{service} service. The available ones are: " \ "[:#{SERVICES_MANIFEST.keys.join(', :')}]" raise ServiceError.new(error) end service = SERVICES_MANIFEST[service] unless service.keys.include?(operation) error = "There is no operation called :#{operation}. The available operations are: "\ "[:#{service.keys.join(', :')}]" raise ServiceError.new(error) end service[operation] end