Джемы, зависимости, библиотеки
Информация по теме
Цель: научиться использовать джемы для упрощения процесса разработки и решения конкретных задач.
Материалы для кодготовки
- Официальный сайт rubygems.org
- Описание структуры джема на rubygems.org
- Список популярных ждемов по категориям ruby-toolbox.com
- Официальный сайт инструмента Bundler bundler.io
- Официальный сайт инструмента Rubocop http://batsov.com/rubocop/
- Руководство по стилю оформления Ruby Ruby Style Guide
- Официальный перевод руководства на русский язык руководства по стилю офомления Ruby Ruby Style Guide
Презентация
Презентацию можно скачать по данной ссылке.
Практическое задание №1
Цель: научиться искать джемы по названию, использовать инструментарий gem
для просмотра и управлением установленными джемами.
Микро-задачи
- Найдите все библиотеки, в названиях которых есть
json
. - Найдите все библиотеки, в названиях которых есть
xlsx
. - Посмотрите список установленных библиотек.
- Установите библиотеку
write_xlsx
. - Какие джемы помимо
write_xlsx
были установлены в систему? - Удалите джем
write_xlsx
. Были ли удалены все джемы, что были поставлены вместе с ним?
Практическое задание №2
Цель: научиться использовать Bundler для управления зависимостями приложения
Шаги
- Создайте каталог для приложения и прейдите в него.
- Установите последнюю версию джема Bundler.
- Создайте файл конфигурации Gemfile, выполнив
bundle init
. - Добавьте в список зависимостей библиотеку
chunky_png
. - Установите и зафиксируйте последнюю версию библиотеки с помощью Bundler.
- Создайте файл
main.rb
, в котором реализуйте приложение, которое считывает последовательность точек из CSV-файла и строит изображение ломанной прямой.- Дополнительно отображайте координатную сетку.
- Дополнительно подстраивайте размер изображения под размеры точек.
- Для запуска приложения используйте команду
bundler exec ruby main.rb
. - Установите и зафиксируйте последнюю версию джема
rubocop
с помощью Bundler. - Проверьте исходный код приложения
main.rb
с помощью Rubocop и исправьте все возникшие ошибки.
Документация
- Официальная документация на стандартную библиотеку csv
- Официальная документация на библиотеку chunky_png
- Официальный сайт библиотеки chunky_png