Sha256: 2165533368d0f6a03c47e1e8d8f5df95777ae2685bbdba9c00e3d097f41bd8ff

Contents?: true

Size: 901 Bytes

Versions: 70

Compression:

Stored size: 901 Bytes

Contents

# frozen_string_literal: true

require "active_support/hash_with_indifferent_access"

class Hash
  # Returns an ActiveSupport::HashWithIndifferentAccess out of its receiver:
  #
  #   { a: 1 }.with_indifferent_access['a'] # => 1
  def with_indifferent_access
    ActiveSupport::HashWithIndifferentAccess.new(self)
  end

  # Called when object is nested under an object that receives
  # #with_indifferent_access. This method will be called on the current object
  # by the enclosing object and is aliased to #with_indifferent_access by
  # default. Subclasses of Hash may override this method to return +self+ if
  # converting to an ActiveSupport::HashWithIndifferentAccess would not be
  # desirable.
  #
  #   b = { b: 1 }
  #   { a: b }.with_indifferent_access['a'] # calls b.nested_under_indifferent_access
  #   # => {"b"=>1}
  alias nested_under_indifferent_access with_indifferent_access
end

Version data entries

70 entries across 68 versions & 11 rubygems

Version Path
activesupport-8.0.0 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-7.2.2 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-7.1.5 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-8.0.0.rc2 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-7.2.1.2 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-7.1.4.2 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-7.0.8.6 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-8.0.0.rc1 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-7.2.1.1 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-7.1.4.1 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-7.0.8.5 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-8.0.0.beta1 lib/active_support/core_ext/hash/indifferent_access.rb
omg-activesupport-8.0.0.alpha9 lib/active_support/core_ext/hash/indifferent_access.rb
omg-activesupport-8.0.0.alpha8 lib/active_support/core_ext/hash/indifferent_access.rb
omg-activesupport-8.0.0.alpha7 lib/active_support/core_ext/hash/indifferent_access.rb
omg-activesupport-8.0.0.alpha4 lib/active_support/core_ext/hash/indifferent_access.rb
omg-activesupport-8.0.0.alpha3 lib/active_support/core_ext/hash/indifferent_access.rb
omg-activesupport-8.0.0.alpha2 lib/active_support/core_ext/hash/indifferent_access.rb
omg-activesupport-8.0.0.alpha1 lib/active_support/core_ext/hash/indifferent_access.rb
activesupport-7.1.4 lib/active_support/core_ext/hash/indifferent_access.rb