This implementation is HODEL-HASH-9600 compliant

Methods
Public Class methods
new(constructor = {})
    # File vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb, line 3
 3:   def initialize(constructor = {})
 4:     if constructor.is_a?(Hash)
 5:       super()
 6:       update(constructor)
 7:     else
 8:       super(constructor)
 9:     end
10:   end
Public Instance methods
[]=(key, value)
    # File vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb, line 18
18:   def []=(key, value)
19:     regular_writer(convert_key(key), convert_value(value))
20:   end
convert_key(key)
    # File vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb, line 42
42:     def convert_key(key)
43:       key.kind_of?(Symbol) ? key.to_s : key
44:     end
convert_value(value)
    # File vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb, line 45
45:     def convert_value(value)
46:       value.is_a?(Hash) ? value.with_indifferent_access : value
47:     end
default(key)
    # File vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb, line 12
12:   def default(key)
13:     self[key.to_s] if key.is_a?(Symbol)
14:   end
fetch(key, *extras)
    # File vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb, line 33
33:   def fetch(key, *extras)
34:     super(convert_key(key), *extras)
35:   end
key?(key)
    # File vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb, line 25
25:   def key?(key)
26:     super(convert_key(key))
27:   end
update(hash)
    # File vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb, line 21
21:   def update(hash)
22:     hash.each {|key, value| self[key] = value}
23:   end
values_at(*indices)
    # File vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb, line 37
37:   def values_at(*indices)
38:     indices.collect {|key| self[convert_key(key)]}
39:   end