class PayU::BaseRequest
Attributes
headers[R]
Public Class Methods
new(headers, json_params = {})
click to toggle source
# File lib/pay_u/base_request.rb, line 3 def initialize(headers, json_params = {}) @headers = headers @keys = [] json_params.each_pair do |key, value| @keys << key define_singleton_method(key) do value end end end
Public Instance Methods
to_h()
click to toggle source
# File lib/pay_u/base_request.rb, line 16 def to_h result = {} @keys.each do |key| result.merge!(camelize_key(key, false) => camelized_value(send(key))) end result end
to_json()
click to toggle source
# File lib/pay_u/base_request.rb, line 24 def to_json to_h.to_json end
Private Instance Methods
camelize_array(array)
click to toggle source
# File lib/pay_u/base_request.rb, line 40 def camelize_array(array) array.map do |element| camelize_keys(element) end end
camelize_key(key, capitalize)
click to toggle source
# File lib/pay_u/base_request.rb, line 54 def camelize_key(key, capitalize) index = capitalize ? 0 : 1 stringified_key = key.to_s stringified_key.split('_').each_with_index.map do |str, i| index <= i ? str.capitalize : str end.join('').to_sym end
camelize_keys(hash)
click to toggle source
# File lib/pay_u/base_request.rb, line 46 def camelize_keys(hash) camelized_hash = {} hash.each_pair do |key, value| camelized_hash[camelize_key(key, false)] = value end camelized_hash end
camelized_value(value)
click to toggle source
# File lib/pay_u/base_request.rb, line 30 def camelized_value(value) if value.respond_to?(:each_pair) camelize_keys(value) elsif value.respond_to?(:each) camelize_array(value) else value end end