Module: Promoted::Ruby::Client::Util
- Defined in:
- lib/promoted/ruby/client/util.rb
Class Method Summary collapse
Class Method Details
.translate_array(arr) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# 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) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# 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 raise 'Unable to parse args. Please pass correct arguments. Must be JSON' end |