module Promoted::Ruby::Client::Util
Public Class Methods
translate_array(arr)
click to toggle source
# File lib/promoted/ruby/client/util.rb, line 5 def self.translate_array(arr) sym_arr = Array.new(arr.length) arr.each_with_index do |v, i| new_v = v case v when Hash new_v = translate_hash(v) when Array new_v = translate_array(v) end sym_arr[i] = new_v end sym_arr end
translate_hash(args)
click to toggle source
# File lib/promoted/ruby/client/util.rb, line 20 def self.translate_hash(args) sym_hash = {} args.each do |k, v| new_key = k.to_s.to_underscore.to_sym case v when Hash sym_hash[new_key] = translate_hash(v) when Array sym_hash[new_key] = translate_array(v) else sym_hash[new_key] = v end end sym_hash rescue => e raise 'Unable to parse args. Please pass correct arguments. Must be JSON' end