CeMuPaMuDa / ROR_GB

1 stars 0 forks source link

Ruby on Rails


Урок 1

  1. Авторизуйтесь на сайте gb.ru. Если заходите через социальную сеть, получите предварительно логин и пароль, проверяйте по вход через заполнение формы на сайте. На странице Network веб-панели разработчика найдите POST-запрос с вашими логином и паролем. Извлеките JSON-ответ сервера, замените ваш логин и пароль произвольным набором букв и цифр и приложите полученную структуру в качестве ответа к заданию.
  2. Познакомьтесь с гемом Faraday. С использованием этого гема создайте программу для обращения к странице с курсами Geekbrains. Подсчитайте количество строк в HTML-файле, который возвращается в ответ на запрос.
  3. Познакомьтесь с документацией гема HTTParty. Выполните предыдущую задачу при помощи этого гема.
  4. Напишите программу на Ruby, которая извлекает с сайта gb.ru телефон службы технической поддержки.

    Урок 2

  5. Последнее приложение урока из листинга, реализуйте с использованием гема bundler. Гем rake, должен подключаться в конфигурационном файле Gemfile.
  6. Реализуйте Rack-приложение, при обращении к страницам которого в HTTP-ответе будет отправляться HTTP-заголовок с именем X-Ruby-Version, в значении которого будет передаваться текущая версия Ruby.

    Урок 3

  7. Глобальная переменная \$LOAD_PATH возвращает массив каталогов, в которых производится поиск ruby-файлов и библиотек. Получите результаты \$LOAD_PATH в интерактивном Ruby (irb) и в rails-консоли. Создайте программу для получения разницы этих двух массив. Приложите в качестве ответа саму программу и результат вычисления.
  8. Добейтесь такого поведения от Rails-приложения, чтобы классы загружались из любого подкаталога каталога lib. Создайте файл lib/service/hello.rb с классом Hello, и методом greeting, который выводит фразу 'Hello, world!'. Создайте файл lib/http/gb.rb с классом Gb и методом count, который при помощи гема *Faraday загружает содержимое страницы с курсами Geekbrains и возвращает количество строк в HTML-файле. Оба класса должны быть доступны для загрузки в rails-консоли.

    Урок 4

  9. Создайте rake-задачу, которая в tmp-каталоге rails-приложения создаёт файл development.txt в который записана текущая дата и время.
  10. Создайте rake-задачу, которая принимает дату рождения пользователя и выводит его возраст.
  11. Создайте rake-задачу, которая подсчитывает количество ruby-файлов в текущем rails-проекте.
  12. Создайте rake-задачу, которая подсчитывает количество строк в ruby-файлах текущего rails-проекта.
  13. Rake-задача, которая выводит список баз данных, развёрнутых в PostgreSQL.
  14. После знака вопроса ? в URL можно указывать GET-параметры. На самом деле эти параметры можно использовать и с POST-запросами. Но так как в GET-запросах не задействовано тело HTTP-запроса, это самый распространённый способ передачи динамических значений. Например, http://localhost:300/?hello=world. Здесь hello выступает ключом GET-параметра, а wold - значение. При помощи Rails.logger.info выведите значение GET-параметра hello в лог Rails-приложения.