diff --git a/Library/Homebrew/extend/enumerable.rb b/Library/Homebrew/extend/enumerable.rb new file mode 100644 index 0000000000..fededbfcac --- /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 5a809ab6f7..4ab84941c3 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"