class ZipMoney::Util
Public Class Methods
json_parse(data)
click to toggle source
Converts Hash|Struct|OpenStruct objects to Hash
@param [data] Json String
@return data
# File lib/zipMoney/util.rb, line 36 def json_parse(data) begin data = JSON.parse(data) rescue TypeError => e if !data.is_a?(Hash) && !data.is_a?(Struct) && !data.is_a?(OpenStruct) raise ArgumentError, "Invalid params provided" end rescue JSON::ParserError => e if !data.is_a?(Hash) && !data.is_a?(Struct) && !data.is_a?(OpenStruct) raise ArgumentError, "Invalid params provided" end end data end
struct_to_hash(object)
click to toggle source
Converts Struct objects to Hash
@param [object] Struct Object
@return Hash
# File lib/zipMoney/util.rb, line 10 def struct_to_hash(object) hash = {} object.to_h.each do |k,v| if v.is_a?(Struct) v = struct_to_hash(v) hash[k] = v unless v.empty? elsif v.is_a?(Array) a = Array.new v.each_with_index do |k1,v1| v2 = struct_to_hash(k1) a[v1] = v2 unless v2.empty? end hash[k] = a if a.length > 0 else hash[k] = v unless v.nil? end end hash end