class ShieldPay::Request
Constants
- UPPERCASE_KEYS
Public Instance Methods
post(path, params)
click to toggle source
# File lib/shieldpay/request.rb, line 13 def post(path, params) url = ShieldPay.configuration.api_endpoint_url + path params = add_auth_key(params) attrs = { body: processed_params(params), headers: headers } attrs[:debug_output] = $stdout if debug_mode? response = HTTParty.post(url, attrs) parse_response(response) end
Private Instance Methods
add_auth_key(params)
click to toggle source
# File lib/shieldpay/request.rb, line 27 def add_auth_key(params) params["organization_key"] = ShieldPay.configuration.org_key params end
debug_mode?()
click to toggle source
# File lib/shieldpay/request.rb, line 32 def debug_mode? ShieldPay.configuration.debug end
display_debug(response)
click to toggle source
# File lib/shieldpay/request.rb, line 36 def display_debug(response) if debug_mode? puts "-" * 20 + " DEBUG " + "-" * 20 puts response puts "-" * 18 + " END DEBUG " + "-" * 18 end end
headers()
click to toggle source
# File lib/shieldpay/request.rb, line 44 def headers { 'Content-Type' => 'application/json', 'Accept' => 'application/json' } end
parse_response(response)
click to toggle source
# File lib/shieldpay/request.rb, line 51 def parse_response(response) as_json = JSON.parse(response.body.to_s) check_for_error(as_json) display_debug(response.body) as_json end
processed_keys(keys)
click to toggle source
# File lib/shieldpay/request.rb, line 58 def processed_keys(keys) keys.inject({}) do |result, (key, value)| if UPPERCASE_KEYS.include?(key) result[key.upcase] = value else result[underscore_to_camel_case(key)] = value end result end end
processed_params(params)
click to toggle source
# File lib/shieldpay/request.rb, line 69 def processed_params(params) processed_keys(params).to_json end
underscore_to_camel_case(string)
click to toggle source
# File lib/shieldpay/request.rb, line 73 def underscore_to_camel_case(string) string.to_s.split('_').collect(&:capitalize).join end