Sha256: 6af4d29ee0c6dc2b29f4de1ceff395551b7cc132e849c7ab27ba2e69656f0f5c
Contents?: true
Size: 735 Bytes
Versions: 2
Compression:
Stored size: 735 Bytes
Contents
module Enumerable def count_by self.inject({}) do |memo, elem| key = yield elem memo[key] ||= 0 memo[key] += 1 memo end end # This method was borrowed from ActiveSupport code def group_by self.inject({}) do |memo, elem| key = yield elem memo[key] ||= [] memo[key] << elem memo end end # File activesupport/lib/active_support/core_ext/enumerable.rb, line 57 def sum(identity = 0, &block) if block_given? map(&block).sum(identity) else inject { |sum, element| sum + element } || identity end end def uniq_by each_with_object({}) do |obj, memo| val, data = yield obj memo[val] ||= data end.values end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rubyc-0.2.0 | lib/rubyc/core_extensions.rb |
rubyc-0.1.3 | lib/rubyc/core_extensions.rb |