Method: Puppet::Provider::DscBaseProvider#downcase_hash_keys!

Defined in:
lib/puppet/provider/dsc_base_provider/dsc_base_provider.rb

#downcase_hash_keys!(enumerable) ⇒ Object

Recursively transforms any enumerable, downcasing any hash keys it finds, changing the passed enumerable.

Parameters:

  • enumerable (Enumerable)

    a string, array, hash, or other object to attempt to recursively downcase



532
533
534
535
536
537
538
539
540
541
542
# File 'lib/puppet/provider/dsc_base_provider/dsc_base_provider.rb', line 532

def downcase_hash_keys!(enumerable)
  if enumerable.is_a?(Hash)
    enumerable.keys.each do |key| # rubocop:disable Style/HashEachMethods
      name = key.dup.downcase
      enumerable[name] = enumerable.delete(key)
      downcase_hash_keys!(enumerable[name]) if enumerable[name].is_a?(Enumerable)
    end
  else
    enumerable.each { |item| downcase_hash_keys!(item) if item.is_a?(Enumerable) }
  end
end