Skip to content

Instantly share code, notes, and snippets.

@duduribeiro
Created February 9, 2017 12:00
Show Gist options
  • Save duduribeiro/7cf24dbea7c5ad286c59db084690db5a to your computer and use it in GitHub Desktop.
Save duduribeiro/7cf24dbea7c5ad286c59db084690db5a to your computer and use it in GitHub Desktop.
Flatten
class Flatten
def run(params = [])
result = []
params.each do |value|
if value.is_a?(Array)
result = result | run(value)
else
result = result << value
end
end
result
end
end
require 'rspec'
require_relative 'flatten'
describe 'Flatten' do
let(:array) { [[1,2,[3]],4] }
it 'flattens the array' do
result = Flatten.new.run(array)
expect(result).to eq([1,2,3,4])
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment