3

我正在研究将 Sorbet RBI 文件添加到我维护的 gem 中可能需要什么,并且我正在尝试为此找出正确的过程。不过,我不想让 Sorbet 作为 gems 的运行时依赖项,所以这意味着将所有类型信息都放在一个单独的 RBI 文件中。

我目前对此的疑问是:

  • 我是否将自己的rbi文件添加到,比如说,./sorbet/rbi/gemname.rbi?如果我将 Sorbet 打包到已发布的 gem 文件中,那是默认情况下会出现的地方吗?
  • 我应该在已发布的 gem 文件中包含其他自动生成的 RBI 文件(在./sorbet/rbi/sorbet-typed和中)吗?./sorbet/rbi/hidden-definitions
  • 我是否应该在我的 gem 文件中包含typedpragma 注释,即使类型信息被分离到一个 RBI 文件中?如果是这样,它应该反映注释所在文件中存在的类型信息,还是应该反映通过 RBI 文件可用的类型信息?
4

1 回答 1

3

我的理解(我在一条类似的船上)基于阅读自定义 RBI 内容是他们建议将定义写入rbigem 根目录的目录中。我认为他们不应该进入该sorbet目录,因为该文件变得非常大(并且您不希望 gem 用户不得不下载重复定义的 MB)。

我一直将typed印记放在我有定义的库文件中,并将 RBI 文件分开。srb tc拿起定义(并酌情抱怨)。这意味着我不需要将冰糕添加为 gem 依赖项(开发除外)。

于 2019-11-26T17:09:24.610 回答