module TCellAgent::Utils::Params
Constants
- COOKIE_PARAM
- GET_PARAM
- HEADER_PARAM
- JSON_PARAM
- POST_PARAM
- URI_PARAM
Public Class Methods
flatten(param_dict, namespace = nil)
click to toggle source
# File lib/tcell_agent/utils/params.rb, line 11 def self.flatten(param_dict, namespace = nil) flattened = {} namespace ||= [] (param_dict || {}).each do |param_name, param_value| if param_value.is_a?(Hash) flattened = flattened.merge(flatten(param_value, namespace.dup << param_name.to_s)) elsif param_value.is_a?(Array) param_value.each_with_index do |val, index| new_namespace = namespace.dup + [index, param_name.to_s] if val.is_a?(Hash) flattened = flattened.merge(flatten(val, new_namespace)) elsif val.is_a?(String) || val.is_a?(Symbol) flattened[new_namespace.freeze] = val.to_s end end elsif param_value.is_a?(String) || param_value.is_a?(Symbol) new_key = namespace.dup << param_name.to_s flattened[new_key.freeze] = param_value.to_s end end flattened end