class Hash

Extentions for hash

Public Instance Methods

symbolize_keys() click to toggle source
# File lib/dockerploy/core_ext/hash.rb, line 3
def symbolize_keys
  _deep_transform_keys_in_object(self) do |key|
    begin
      key.to_sym
    rescue StandardError
      key
    end
  end
end

Private Instance Methods

_deep_transform_keys_in_object(object) { |key| ... } click to toggle source
# File lib/dockerploy/core_ext/hash.rb, line 15
def _deep_transform_keys_in_object(object, &block)
  case object
  when Hash
    object.each_with_object({}) do |(key, value), result|
      result[yield(key)] = _deep_transform_keys_in_object(value, &block)
    end
  when Array
    object.map { |e| _deep_transform_keys_in_object(e, &block) }
  else
    object
  end
end