Module: Polyfill::V2_4::Hash

Defined in:
lib/polyfill/v2_4/hash.rb

Instance Method Summary collapse

Instance Method Details

#compactObject



4
5
6
# File 'lib/polyfill/v2_4/hash.rb', line 4

def compact
  reject { |_, v| v.nil? }
end

#compact!Object



8
9
10
# File 'lib/polyfill/v2_4/hash.rb', line 8

def compact!
  reject! { |_, v| v.nil? }
end

#transform_valuesObject



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/polyfill/v2_4/hash.rb', line 12

def transform_values
  unless block_given?
    return ::Enumerator.new(keys.size) do |yielder|
      each_with_object({}) do |(k, v), acc|
        acc[k] = yielder.yield(v)
      end
    end
  end

  each_with_object({}) do |(k, v), acc|
    acc[k] = yield(v)
  end
end

#transform_values!Object



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/polyfill/v2_4/hash.rb', line 26

def transform_values!
  unless block_given?
    return ::Enumerator.new(keys.size) do |yielder|
      replace(each_with_object({}) do |(k, v), acc|
        acc[k] = yielder.yield(v)
      end)
    end
  end

  replace(each_with_object({}) do |(k, v), acc|
    acc[k] = yield(v)
  end)
end