是否可以为单个文件生成隐藏定义?

时间:2019-08-05 18:29:34

标签: sorbet

在大型Rails应用程序上运行srb init时,该过程将占用大量内存(10GB +),并且需要很长时间(最多10或15分钟)才能完成。是否可以更新单个文件或子目录的隐藏定义以加快此过程?

我特别考虑的情况是,新的gem或文件更改需要更新隐藏的定义,但我不想重新初始化整个项目。

1 个答案:

答案 0 :(得分:0)

计算hidden-definitions.rbi必须在整个程序范围内。算法为:

  • 加载项目中的所有代码,包括gems
  • 对项目中的所有代码(包括已经为gems创建的RBI)运行sorbet
  • 输出包含前两个步骤的差异的RBI。

因此,从根本上说,必须为整个项目计算hidden-definitions.rbi。