Задача №1 от Flatstack

https://github.com/fs/test-tasks/tree/master/ruby#первое-тестовое-задание

Условие задачи

Дана последовательность:

1
11
21
1211
111221
312211

Необходимо написать программу на Ruby, которая генерирует последовательность такого рода. Для реализации программы нужно использовать функции из стандартной библиотеки Ruby. Программа должна быть построена по принципам объектно-ориентированной архитектуры, использовать классы. Желательно, чтобы для программы были написаны автоматические тесты.

Решение

Затрачено: 1 час 5 минут, из них 45 минут писался алгоритм c тестами и 20 минут код оформлялся джемом и писался этот файл.

Использование

В задаче не было указано какой итоговый проект должен получиться, должен ли просто в консоль выводить или, например, просто возвращать новое значение. Я решил остановиться на втором варианте и сделать это всё обычной библиотекой.

$ bin/console 
irb(main):001:0> Sequence::Calculator.new('1211').next_sequence
=> "111221"
irb(main):002:0>