Sha256: 89ca707a856a8daa18c08fa1c49dcf19e97106bb9d7340d464493991ff7342e6

Contents?: true

Size: 544 Bytes

Versions: 11

Compression:

Stored size: 544 Bytes

Contents

class Hash
  def transform_keys
    return to_enum(:transform_keys) { size } unless block_given?
    h = {}
    each do |key, value|
      h[yield key] = value
    end
    h
  end unless method_defined? :transform_keys

  def transform_keys!
    return enum_for(:transform_keys!) { size } unless block_given?

    self[:trigger_error] = :immediately if frozen?

    h = {}
    begin
      each do |key, value|
        h[yield key] = value
      end
    ensure
      replace(h)
    end
    self
  end unless method_defined? :transform_keys!
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
backports-3.25.0 lib/backports/2.5.0/hash/transform_keys.rb
backports-3.24.1 lib/backports/2.5.0/hash/transform_keys.rb
backports-3.24.0 lib/backports/2.5.0/hash/transform_keys.rb
backports-3.23.0 lib/backports/2.5.0/hash/transform_keys.rb
backports-3.22.1 lib/backports/2.5.0/hash/transform_keys.rb
backports-3.22.0 lib/backports/2.5.0/hash/transform_keys.rb
backports-3.21.0 lib/backports/2.5.0/hash/transform_keys.rb
backports-3.20.2 lib/backports/2.5.0/hash/transform_keys.rb
backports-3.20.1 lib/backports/2.5.0/hash/transform_keys.rb
backports-3.20.0 lib/backports/2.5.0/hash/transform_keys.rb
backports-3.19.0 lib/backports/2.5.0/hash/transform_keys.rb