From 80745a97e20f8033ff6ff3a0c0425b22880a944f Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Fri, 7 Jun 2013 22:27:29 -0500 Subject: [PATCH] Add Enumerable#group_by --- Library/Homebrew/extend/enumerable.rb | 7 +++++++ Library/Homebrew/global.rb | 1 + Library/Homebrew/test/testing_env.rb | 1 + 3 files changed, 9 insertions(+) create mode 100644 Library/Homebrew/extend/enumerable.rb diff --git a/Library/Homebrew/extend/enumerable.rb b/Library/Homebrew/extend/enumerable.rb new file mode 100644 index 0000000000..f6765bbae9 --- /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 edfce9ac42..cb6e36e073 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 8e93884ebe..4e071c000f 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'