Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 列出工厂的名称和属性(FactoryGirl)_Ruby_Factory Bot - Fatal编程技术网

Ruby 列出工厂的名称和属性(FactoryGirl)

Ruby 列出工厂的名称和属性(FactoryGirl),ruby,factory-bot,Ruby,Factory Bot,我想编写一个ruby脚本,列出项目中工厂的名称及其属性(使用FactoryGirl)。 我的问题是,我不确定如何确定给定工厂的开始和结束 我想的方法是 开始以字符串形式读取每个factory文件 当我得到字符串factory时,我假设它是一个 工厂。(我得到了起始位置) 然后我读取文件,直到我得到一个结尾,并且它是否对齐 对于工厂我假设工厂已经结束了 但缺点是,如果路线不同,我将无法确定工厂的终点 我的问题是, 这是一个好方法吗 有哪些替代方案 我检查了rubocop和他们处理对齐的方法

我想编写一个ruby脚本,列出项目中工厂的名称及其属性(使用
FactoryGirl
)。 我的问题是,我不确定如何确定给定工厂的
开始
结束

我想的方法是

  • 开始以字符串形式读取每个factory文件
  • 当我得到字符串
    factory
    时,我假设它是一个 工厂。(我得到了起始位置)
  • 然后我读取文件,直到我得到一个
    结尾
    ,并且它是否对齐 对于
    工厂
    我假设工厂已经结束了
但缺点是,如果路线不同,我将无法确定工厂的终点

我的问题是,

  • 这是一个好方法吗
  • 有哪些替代方案

我检查了rubocop和他们处理对齐的方法,但似乎因为这是一种通用的方法,它很复杂。我相信他们的方法应该更简单

这似乎有点过分了。你可以问问FactoryGirl本身,因为每个
工厂都有一个与其关联。

如果你需要实际解析
工厂.rb
文件,而不能只执行Ruby,我强烈建议使用真正的解析器,比如,而不是自己为Ruby编写字符串解析器。

@Jhon,非常感谢您的回答,快速提问,因为我将从外部应用程序(比如
code-climate
)使用它,它会工作吗?因为我无法在项目内部加载工厂(工厂所属的位置)@sameera207您仍然可以加载与工厂对应的项目(例如,如果它们都在
spec/factories
,则加载该项目和任何依赖项)。@Jhon,谢谢,我认为您的方法是正确的。(但我还没有尝试).我相信这将有助于我从不同的rails项目中加载工厂。。