Лист улучшений и фиксов, которые можно сделать в геме.
Не всем нужен ActiveSupport
. Возможно кто-то захочет использовать gemfather
не имея ActiveSupport
в обвязке
Для этого надо убрать проверки на blank?
и подобный синтаксис из гема. А для инструментария сделать включение ActiveSupport
если в гем передан какой-то флаг, что инструментарий там нужен.
Сейчас есть проблема, если последовательно объявлять несколько клиентов, и одному клиенту нужен какой-то ключ из базового конфига, к примеру api_token
, а другому нет
# Объявляем клиент гема с токеном
Gemfather::Client.new(api_token: 'test')
# Объявляем клиент гема без токена или с явной передачей nil
Gemfather::Client.new(api_token: nil)
Gemfather::Client.new
По факту ключ api_token всё равно будет не пуст, т.к. внутри def initialize
в классе ApiGenerator::Client::Connection
есть классовая переменная self.class.config
, которая аккумулирет в себе конфиг.
Вероятно, обнулять текущий конфиг до дефолтных значений перед инициализацией нового.
Сейчас есть проблема, если последовательно сгенерировать несколько API-методов через синтаксис, то на каждой генерации файл-заготовка под тесты будет пересоздан
bin/generate deals:create:post
# тут создается файл "./spec/api/deals_spec.rb"
bin/generate deals:remove:delete
# тут пересоздаётся файл "./spec/api/deals_spec.rb". Если между вызовами мы его заполнили - всё пропадёт.
Усложнить генератор тестов, смотреть на то, что он уже был создан и как-то расширять. Либо просто не трогать файл если он есть.