Авторизуйтесь на сайте gb.ru. Если заходите через социальную сеть, получите предварительно логин и пароль, проверяйте по вход через заполнение формы на сайте. На странице Network веб-панели разработчика найдите POST-запрос с вашими логином и паролем. Извлеките JSON-ответ сервера, замените ваш логин и пароль произвольным набором букв и цифр и приложите полученную структуру в качестве ответа к заданию.
Познакомьтесь с гемом Faraday. С использованием этого гема создайте программу для обращения к странице с курсами Geekbrains. Подсчитайте количество строк в HTML-файле, который возвращается в ответ на запрос.
Напишите программу на Ruby, которая извлекает с сайта gb.ru телефон службы технической поддержки.
Урок 2
Последнее приложение урока из листинга, реализуйте с использованием гема bundler. Гем rake, должен подключаться в конфигурационном файле Gemfile.
Реализуйте Rack-приложение, при обращении к страницам которого в HTTP-ответе будет отправляться HTTP-заголовок с именем X-Ruby-Version, в значении которого будет передаваться текущая версия Ruby.
Урок 3
Глобальная переменная \$LOAD_PATH возвращает массив каталогов, в которых производится поиск ruby-файлов и библиотек. Получите результаты \$LOAD_PATH в интерактивном Ruby (irb) и в rails-консоли. Создайте программу для получения разницы этих двух массив. Приложите в качестве ответа саму программу и результат вычисления.
Добейтесь такого поведения от Rails-приложения, чтобы классы загружались из любого подкаталога каталога lib. Создайте файл lib/service/hello.rb с классом Hello, и методом greeting, который выводит фразу 'Hello, world!'. Создайте файл lib/http/gb.rb с классом Gb и методом count, который при помощи гема *Faraday загружает содержимое страницы с курсами Geekbrains и возвращает количество строк в HTML-файле. Оба класса должны быть доступны для загрузки в rails-консоли.
Урок 4
Создайте rake-задачу, которая в tmp-каталоге rails-приложения создаёт файл development.txt в который записана текущая дата и время.
Создайте rake-задачу, которая принимает дату рождения пользователя и выводит его возраст.
Создайте rake-задачу, которая подсчитывает количество ruby-файлов в текущем rails-проекте.
Создайте rake-задачу, которая подсчитывает количество строк в ruby-файлах текущего rails-проекта.
Rake-задача, которая выводит список баз данных, развёрнутых в PostgreSQL.
После знака вопроса ? в URL можно указывать GET-параметры. На самом деле эти параметры можно использовать и с POST-запросами. Но так как в GET-запросах не задействовано тело HTTP-запроса, это самый распространённый способ передачи динамических значений. Например, http://localhost:300/?hello=world. Здесь hello выступает ключом GET-параметра, а wold - значение. При помощи Rails.logger.info выведите значение GET-параметра hello в лог Rails-приложения.