Добавление файлов Sorbet RBI в драгоценные камни

Я изучаю, что может потребоваться для добавления файлов Sorbet RBI в драгоценные камни, которые я обслуживаю, и я пытаюсь выяснить правильный процесс для этого. Однако я не хочу иметь Sorbet в качестве зависимости времени выполнения для драгоценных камней, поэтому это означает, что вся информация о типе находится в отдельном файле RBI.

Мои текущие запросы по этому поводу:

  • Должен ли я добавлять свой собственный файл rbi, скажем, в ./sorbet/rbi/gemname.rbi? И это то, где Sorbet будет искать по умолчанию, если я упакую это в опубликованный файл gem?
  • Должен ли я включать другие автоматически сгенерированные файлы RBI (в ./sorbet/rbi/sorbet-typed и ./sorbet/rbi/hidden-definitions) в опубликованный файл gem?
  • Должен ли я включать комментарий прагмы typed в файлы моего гема, даже если информация о типе разделена в файле RBI? Если да, то должен ли он отражать информацию о типе, присутствующую в файле, в котором находится комментарий, или он должен отражать информацию о типе, доступную через файл RBI?

person pat    schedule 25.11.2019    source источник
comment
Так вы спрашиваете мнения?   -  person the Tin Man    schedule 25.11.2019
comment
@theTinMan, команда Sorbet, направляет людей задавать вопросы здесь, особенно если что-то неясно из их документации, и поэтому я так и поступаю. Я не чувствую, что прошу мнения, а скорее: как я должен что-то делать, чтобы убедиться, что они соответствуют ожиданиям и коду команды Sorbet.   -  person pat    schedule 25.11.2019


Ответы (1)


Мое понимание (я в той же лодке) основано на прочтении пользовательского контента RBI заключается в том, что они рекомендуют записывать определения в каталог rbi в корневом каталоге gem. Я не думаю, что они должны идти в каталог sorbet, так как этот файл становится довольно большим (и вы не хотите, чтобы пользователям gem приходилось загружать МБ повторяющихся определений).

Я поместил сигилы typed в библиотечные файлы, для которых у меня есть определения, и разделил файлы RBI. srb tc подхватывает определения (и жалуется по мере необходимости). Это означает, что мне не нужно добавлять сорбет в качестве зависимости от драгоценного камня (кроме как для разработки).

person bagman    schedule 26.11.2019
comment
Я должен отметить, что это, похоже, не добавляет их в тесты, что, безусловно, делает это менее полезным. - person bagman; 19.12.2019