aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/extend/enumerable.rb11
-rw-r--r--Library/Homebrew/global.rb1
2 files changed, 12 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/enumerable.rb b/Library/Homebrew/extend/enumerable.rb
new file mode 100644
index 000000000..fededbfca
--- /dev/null
+++ b/Library/Homebrew/extend/enumerable.rb
@@ -0,0 +1,11 @@
+module Enumerable
+ def flat_map
+ return to_enum(:flat_map) unless block_given?
+ r = []
+ each do |*args|
+ result = yield(*args)
+ result.respond_to?(:to_ary) ? r.concat(result) : r.push(result)
+ end
+ r
+ end unless method_defined?(:flat_map)
+end
diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb
index 5a809ab6f..4ab84941c 100644
--- a/Library/Homebrew/global.rb
+++ b/Library/Homebrew/global.rb
@@ -3,6 +3,7 @@ require "extend/fileutils"
require "extend/pathname"
require "extend/ARGV"
require "extend/string"
+require "extend/enumerable"
require "os"
require "utils"
require "exceptions"