Module: UsefulUtilities::Hash

Extended by:
Hash
Included in:
Hash
Defined in:
lib/useful_utilities/hash.rb

Overview

Hash utilities

Instance Method Summary collapse

Instance Method Details

#group_by_keys(*list) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/useful_utilities/hash.rb', line 15

def group_by_keys(*list)
  collect_keys(*list).inject({}) do |result, key|
    result[key] = []
    list.each { |item| result[key] << item[key] if item.has_key?(key) }

    result
  end
end

#sum_values(*list) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/useful_utilities/hash.rb', line 6

def sum_values(*list)
  collect_keys(*list).inject({}) do |result, key|
    result[key] = 0
    list.each { |item| result[key] += item[key] if item.has_key?(key) }

    result
  end
end