Module: Polyfill::V2_5::Hash

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

Instance Method Summary collapse

Instance Method Details

#slice(*keys) ⇒ Object



4
5
6
7
8
# File 'lib/polyfill/v2_5/hash.rb', line 4

def slice(*keys)
  keys.each_with_object({}) do |k, acc|
    acc[k] = self[k] if key?(k)
  end
end

#transform_keysObject



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/polyfill/v2_5/hash.rb', line 10

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

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