Информация по теме

Цель: научиться использовать джемы для упрощения процесса разработки и решения конкретных задач.

Материалы для кодготовки

  • Официальный сайт 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