Module: Veritrans::Client

Extended by:
Client
Included in:
Veritrans, Client
Defined in:
lib/veritrans/client.rb

Instance Method Summary collapse

Instance Method Details

#_json_decode(params) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/veritrans/client.rb', line 21

def _json_decode(params)
  if defined?(ActiveSupport) && defined?(ActiveSupport::JSON)
    ActiveSupport::JSON.decode(params)
  else
    require 'json' unless defined?(JSON)
    JSON.parse(params)
  end
end

#_json_encode(params) ⇒ Object

Failback for activesupport



12
13
14
15
16
17
18
19
# File 'lib/veritrans/client.rb', line 12

def _json_encode(params)
  if defined?(ActiveSupport) && defined?(ActiveSupport::JSON)
    ActiveSupport::JSON.encode(params)
  else
    require 'json' unless defined?(JSON)
    JSON.generate(params)
  end
end

#request_with_logging(method, url, params) ⇒ Object

This is proxy method for make_request to save request and response to logfile



31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/veritrans/client.rb', line 31

def request_with_logging(method, url, params)
  short_url = url.sub(config.api_host, '')
  file_logger.info("Perform #{short_url} \nSending: " + _json_encode(params))

  result = make_request(method, url, params)

  if result.status_code < 300
    file_logger.info("Success #{short_url} \nGot: " + _json_encode(result.data) + "\n")
  else
    file_logger.warn("Failed #{short_url} \nGot: " + _json_encode(result.data) + "\n")
  end

  result
end