CoderCastrov logo
CoderCastrov
Cli - Командная строка

CLI Data Gem Portfolio Project

CLI Data Gem Portfolio Project
просмотров
2 мин чтение
#Cli - Командная строка
Table Of Content

    Я закончил свой проект CLI за 2 недели до срока сдачи, но до сих пор рефакторирую свой код и каждый день учусь новому. Вот процесс создания моего проекта.

    Я начал с просмотра всех бонусных видео и обзора рекомендуемых проектов. Я создал свой первый гем и назвал его cli, а затем загрузил его на Github. Я включил необходимые файлы и гемы в файл Ruby и объявил имя класса в нем. У меня получилось заставить работать файлы cli и scraper. Однако я не мог использовать pry для тестирования своего кода, потому что файл gemspec был настроен неправильно. Мне пришлось использовать метод puts для тестирования кода. Поэтому я создал новый гем и назвал его best_laptop, чтобы получить правильное окружение и файл gemspec. Теперь я могу использовать pry и правильно запускать Bundle. Я также изменил имя класса на пространство имен класса.

    Есть два метода, которые можно использовать при написании кода: изнутри и снаружи. Метод "снаружи" заключается в создании файла laptop для сбора объектов, файла scraper для извлечения данных с веб-страницы и файла cli для отображения данных пользователю. Метод "изнутри" заключается в жесткой привязке кода внутри файла cli. Файл scraper будет извлекать данные с веб-страницы, чтобы заменить жесткую привязку. Затем мы присваиваем данные объектам коллекции в файле laptop. Мой подход был "изнутри". Причина, по которой я выбрал этот метод, заключается в том, что мне потребовалось больше времени на извлечение данных с веб-сайта, когда я работал над файлом scraper. Файл cli предоставлял пользовательский интерфейс пользователю. Он вызывал методы scraper и laptop для извлечения данных с веб-страницы и присваивал их объектам laptop. Затем данные будут показаны пользователю в зависимости от ввода пользователя. Файл laptop будет получать массив хэшей и использовать массовое присваивание для создания нового объекта для каждого хэша. Мы можем добавить дополнительные данные к существующему объекту, когда пользователь захочет узнать больше информации о выбранном ноутбуке, такую как Преимущества, Недостатки, Итог.

    В заключение, я узнал о преимуществах ООП, таких как Self, Mass Assignment и Parsing. Кроме того, я также имел возможность освежить знания о массивах, хэшах и Git & Github. Я потратил много времени на парсинг данных с помощью селекторов CSS в Nokogiri. Это помогло мне понять, как извлекать конкретные данные из HTML-документа. Инструмент Bundle помог создавать и поддерживать зависимости проекта правильно. Файл окружения организовывал все гемы и файлы Ruby. Это очень полезно, когда вызываются пространства имен классов и методы.

    Ссылка на проект: https://github.com/HuydDo/best_laptop