1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
# frozen_string_literal: true
module Molinillo
# Hacks needed for old Ruby versions.
module Compatibility
module_function
if [].respond_to?(:flat_map)
# Flat map
# @param [Enumerable] enum an enumerable object
# @block the block to flat-map with
# @return The enum, flat-mapped
def flat_map(enum, &blk)
enum.flat_map(&blk)
end
else
# Flat map
# @param [Enumerable] enum an enumerable object
# @block the block to flat-map with
# @return The enum, flat-mapped
def flat_map(enum, &blk)
enum.map(&blk).flatten(1)
end
end
end
end
|