lib/twilio-ruby/framework/serialize.rb in twilio-ruby-5.0.0.rc5 vs lib/twilio-ruby/framework/serialize.rb in twilio-ruby-5.0.0.rc7

- old
+ new

@@ -14,6 +14,32 @@ def self.deserialize_iso8601(date) unless date.nil? Time.parse(date) end end + + def self.flatten(map, result={}, previous=[]) + map.each do |key, value| + if value.is_a? Hash + self.flatten(value, result, previous + [key]) + else + result[(previous + [key]).join('.')] = value + end + end + + result + end + + def self.prefixed_collapsible_map(map, prefix) + result = {} + if map.is_a? Hash + flattened = self.flatten(map) + result = {} + flattened.each do |key, value| + result[prefix + '.' + key] = value + end + end + + result + end + end