aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2013-06-07 22:27:29 -0500
committerJack Nagel2013-06-08 12:23:14 -0500
commit80745a97e20f8033ff6ff3a0c0425b22880a944f (patch)
tree14671401835d0907e6f67d81151deb8eeedf0302 /Library
parent4b355399789cd79009d42a05a742efc7954cf380 (diff)
downloadbrew-80745a97e20f8033ff6ff3a0c0425b22880a944f.tar.bz2
Add Enumerable#group_by
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/extend/enumerable.rb7
-rw-r--r--Library/Homebrew/global.rb1
-rw-r--r--Library/Homebrew/test/testing_env.rb1
3 files changed, 9 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/enumerable.rb b/Library/Homebrew/extend/enumerable.rb
new file mode 100644
index 000000000..f6765bbae
--- /dev/null
+++ b/Library/Homebrew/extend/enumerable.rb
@@ -0,0 +1,7 @@
+module Enumerable
+ def group_by
+ inject({}) do |h, e|
+ h.fetch(yield(e)) { |k| h[k] = [] } << e; h
+ end
+ end unless method_defined?(:group_by)
+end
diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb
index edfce9ac4..cb6e36e07 100644
--- a/Library/Homebrew/global.rb
+++ b/Library/Homebrew/global.rb
@@ -4,6 +4,7 @@ require 'extend/pathname'
require 'extend/ARGV'
require 'extend/string'
require 'extend/symbol'
+require 'extend/enumerable'
require 'utils'
require 'exceptions'
require 'set'
diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb
index 8e93884eb..4e071c000 100644
--- a/Library/Homebrew/test/testing_env.rb
+++ b/Library/Homebrew/test/testing_env.rb
@@ -12,6 +12,7 @@ require 'extend/fileutils'
require 'extend/pathname'
require 'extend/string'
require 'extend/symbol'
+require 'extend/enumerable'
require 'exceptions'
require 'utils'
require 'rbconfig'