Этот проект построен на языке General Purpose Ruby.
Используемые драгоценные камни: curb, json и require_all.
Самая большая проблема
Выяснение того, как подключиться к внешнему источнику данных, было одной из самых больших проблем в этом проекте. Я решил использовать curb с json, чтобы подключиться к API (https://docs.thecatapi.com/), а затем получить доступ к свойствам.
Curb сам оборачивает данные в виде строки, поэтому мне пришлось проанализировать ее, чтобы выполнить манипуляции в методах экземпляра моего класса.
Величайшее достижение
Будучи объектно-ориентированным проектом по своей сути, вся обработка данных и представление их пользователю выполняются с помощью методов экземпляра класса, который я инициализирую, когда пользователь указывает, что он заинтересован в продолжении.
Это довольно круто, я думаю.
Другие примечания
Один файл bin/program имеет доступ ко всему коду приложения через config/environment, который затем требует всей папки lib через gem; предоставляя пользователю простой опыт запуска приложения.