Module: Kutils::ArrayUtils

Defined in:
lib/utils/array_utils.rb

Overview

ArrayUtils provides array flattening and safe mapping utilities.

Class Method Summary collapse

Class Method Details

.deep_flatten(arr) ⇒ Array

Deeply flatten an array (1 level at a time)

Parameters:

  • arr (Array)

Returns:

  • (Array)


13
14
15
16
# File 'lib/utils/array_utils.rb', line 13

def self.deep_flatten(arr)
  arr.flatten(1) while arr.any? { |a| a.is_a?(Array) }
  arr
end

.safe_map(arr) {|item| ... } ⇒ Array

Map array safely (nil returns empty array)

Parameters:

  • arr (Array, nil)

Yields:

  • (item)

Returns:

  • (Array)


22
23
24
# File 'lib/utils/array_utils.rb', line 22

def self.safe_map(arr, &block)
  (arr || []).map(&block)
end