module AlipayMini::Utils

Public Class Methods

deep_compact(hash) click to toggle source
# File lib/alipay_mini/utils.rb, line 18
def self.deep_compact(hash)
  return hash unless hash.is_a?(::Hash)

  hash.each_with_object({}) do |(k, v), compact_hash|
    if v.is_a?(::Hash)
      compact_hash[k] = deep_compact(v)
    else
      compact_hash[k] = v unless v.nil?
    end
  end
end
params_to_string(params) click to toggle source
# File lib/alipay_mini/utils.rb, line 14
def self.params_to_string(params)
  params.sort.map{ |item| item.join('=') }.join('&')
end
stringify_keys(hash) click to toggle source
# File lib/alipay_mini/utils.rb, line 4
def self.stringify_keys(hash)
  if hash.is_a? ::Hash
    return hash.inject({}) do |memo, (k, v)|
      memo.tap { |m| m[k.to_s] = self.stringify_keys(v) }
    end
  end

  hash
end