module Recursive class ::Array def flatten_recursively self.each_with_object([]) do |item, flattened| item.is_a?(Array) ? flattened += item.flatten_recursively : flattened.push item end end end end