class Sberbank::Acquiring::CommandParametersConvertor

Attributes

default_params[R]

Public Class Methods

new(default_params = {}) click to toggle source
# File lib/sberbank/acquiring/command_parameters_convertor.rb, line 8
def initialize(default_params = {})
  @default_params = default_params
end

Public Instance Methods

camelize(params) click to toggle source
# File lib/sberbank/acquiring/command_parameters_convertor.rb, line 16
def camelize(params)
  case params
  when Hash then camelize_hash(params)
  when Enumerable then camelize_enumerable(params)
  else params
  end
end
convert(params) click to toggle source
# File lib/sberbank/acquiring/command_parameters_convertor.rb, line 12
def convert(params)
  jsonify_hash_values(camelize(params).merge!(default_params))
end
jsonify_hash_values(hash) click to toggle source
# File lib/sberbank/acquiring/command_parameters_convertor.rb, line 24
def jsonify_hash_values(hash)
  result = hash.dup

  result.each do |k, v|
    result[k] = v.is_a?(Hash) && v.to_json || v
  end

  result
end

Private Instance Methods

camelize_enumerable(enumerable) click to toggle source
# File lib/sberbank/acquiring/command_parameters_convertor.rb, line 46
def camelize_enumerable(enumerable)
  enumerable.map { |e| camelize(e) }
end
camelize_hash(hash) click to toggle source
# File lib/sberbank/acquiring/command_parameters_convertor.rb, line 40
def camelize_hash(hash)
  result = {}
  hash.each { |k, v| result[camelize_string(k.to_s)] = camelize(v) }
  result
end
camelize_string(string) click to toggle source
# File lib/sberbank/acquiring/command_parameters_convertor.rb, line 36
def camelize_string(string)
  string.gsub(/_([a-z])/) { $1.upcase }
end