Sha256: c8f03bacf37f12c51cbc23e4b42e95a9623f22e6364d0f46072be839918b4ad9

Contents?: true

Size: 547 Bytes

Versions: 2

Compression:

Stored size: 547 Bytes

Contents

class Array
  def to_freq_hash
    freq = {}
    each do |e|
      freq[e] = freq[e].to_i + 1
    end
    freq
  end
  
  def to_summarized_hash(operation_symbol = :+)
    sums = {}
    each do |e|
      key, value = yield(e)
      if sums[key]
        sums[key] = sums[key].send(operation_symbol, value)
      else
        sums[key] = value
      end
    end
    sums
  end
  
  def to_grouped_hash
    groups = {}
    each do |e|
      key, value = yield(e)
      groups[key] ||= []
      groups[key] << value
    end
    groups
  end
  
end
  

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
backlog-0.37.2 lib/array_helper.rb
backlog-0.37.1 lib/array_helper.rb