diff options
author | Starfall <us@starfall.systems> | 2021-01-13 13:39:46 -0600 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2021-01-13 13:39:46 -0600 |
commit | 65263e6309fb4dea1a93d4b4806af629d317c156 (patch) | |
tree | 8a142dea5cc3d4081f551c02e953976d3c0930bf /lib/enumerable.rb | |
parent | 29227b32e150894e15098bcf216b1f5c08763200 (diff) | |
parent | a7a47834e50645746355e2b9a88244c1804c73cd (diff) |
Merge branch 'glitch' into main
Diffstat (limited to 'lib/enumerable.rb')
-rw-r--r-- | lib/enumerable.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/enumerable.rb b/lib/enumerable.rb new file mode 100644 index 000000000..66918f65e --- /dev/null +++ b/lib/enumerable.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Enumerable + # TODO: Remove this once stop to support Ruby 2.6 + if RUBY_VERSION < '2.7.0' + def filter_map + if block_given? + result = [] + each do |element| + res = yield element + result << res if res + end + result + else + Enumerator.new do |yielder| + result = [] + each do |element| + res = yielder.yield element + result << res if res + end + result + end + end + end + end +end |