class Arrayie::Tools

This class contains tools for working with Array type

Public Instance Methods

flatten(input_array) click to toggle source

Flattens a Array type

@param [Array] input_array An array @return [Array] flattened input array @raise [ArgumentError] if the input array is not an Array type

# File lib/arrayie/tools.rb, line 25
def flatten(input_array)
  unless input_array.is_a?(Array)
    raise ArgumentError, 'Accepted input should be an Array type.'
  end

  input_array.inject([]) do |output_array, item|
    output_array += item.is_a?(Array) ? flatten(item) : [item]

    output_array
  end
end