module UsefulUtilities::Hash
Hash
utilities
Public Instance Methods
group_by_keys(*list)
click to toggle source
# 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)
click to toggle source
# 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
Private Instance Methods
collect_keys(*list)
click to toggle source
# File lib/useful_utilities/hash.rb, line 26 def collect_keys(*list) list.inject([]) { |result, item| result |= item.keys } end