Method: Puppet::Provider::DscBaseProvider#recursively_downcase

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

#recursively_downcase(object) ⇒ Object

Recursively transforms any object, downcasing it to enable case insensitive comparisons

Parameters:

  • object (Object)

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

Returns:

  • (Object)

    returns the input object recursively downcased



624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
# File 'lib/puppet/provider/dsc_base_provider/dsc_base_provider.rb', line 624

def recursively_downcase(object)
  case object
  when String
    object.downcase
  when Array
    object.map { |item| recursively_downcase(item) }
  when Hash
    transformed = {}
    object.transform_keys(&:downcase).each do |key, value|
      transformed[key] = recursively_downcase(value)
    end
    transformed
  else
    object
  end
end