今天,我们很高兴地宣布,DeepSource Ruby分析器已经脱离了测试阶段。除了稳定性提高之外,该分析器现在可以检测到260多个问题,而在测试版发布时,该分析器可以检测到大约170个问题。
最重要的是,你可以使用DeepSource使用Autofix自动修复70多个不同的问题,或者使用Transformers改造你的整个代码库。
使用Ruby分析器
要开始分析你的Ruby代码,只需在你的.deepsource.toml 文件中启用ruby 分析器,你就可以开始了。
配置样本
version = 1
test_patterns = [
"test/**",
"*_test.rb"
]
exclude_patterns = [
"vendor/**",
"**/examples/**"
]
[[analyzers]]
name = "ruby"
enabled = true
使用Autofix修复你的代码
超过70个问题可以使用DeepSource Ruby Autofix进行自动修复。在Issues 标签中寻找 Autofix 徽章。

使用变形器改造你的代码
您还可以使用可用的Ruby Transformers来自动转换您的代码库。我们目前支持StandardRB和RuboCop。
使用Ruby分析器和变形器的配置样本
version = 1
test_patterns = [
"test/**",
"*_test.rb"
]
exclude_patterns = [
"vendor/**",
"**/examples/**"
]
[[analyzers]]
name = "ruby"
enabled = true
[[transformers]]
name = "standardrb"
enabled = true
由Ruby分析器检测的问题
我们目前支持你的Ruby代码中的260多个问题,包括Bug风险、反模式、安全漏洞和风格问题等类别。下面是其中的一些,给你一个概念。
错误风险
- 魔法注释的错误排序
while/until块中检测到的begin- 百分之百的字符串字面结构无效
安全问题
- 检测到
eval的使用 - 检测到不安全的JSON方法
- 检测到使用不安全的YAML方法
反模式
- 使用
each_with_object,而不是inject/reduce - 检测到
Bignum或Fixnum if/ 检测到没有主体的elsif/unless分支
我们对这个版本感到非常兴奋,并希望这将帮助你避免代码中的许多问题,并使编写Ruby更加有趣请到文档中去看看,或者告诉我们你的想法