Ruby on rails Rubocop/Hound建议冻结字符串文字类名
我的项目使用HoundCI作为代码过滤器,我相信它在内部使用rubocop 最近我开始注意到这种警告- 它出现在每个类定义中(例如Ruby on rails Rubocop/Hound建议冻结字符串文字类名,ruby-on-rails,rubocop,Ruby On Rails,Rubocop,我的项目使用HoundCI作为代码过滤器,我相信它在内部使用rubocop 最近我开始注意到这种警告- 它出现在每个类定义中(例如类用户
类用户
)
我理解冻结字符串文字的概念,但为什么它会要求我冻结类定义?更重要的是,我如何禁用它?有10多个这样的“错误”污染了我们的拉取请求,这是非常烦人的
谢谢大家!
Edit:看起来它也开始出现在使用字符串文本的require
语句上,就像rspec测试一样。这绝对是新的,以前没有被标记
看来Hound/Rubocop发现了违反警察条例的行为 此cop旨在帮助升级到Ruby 3.0。它将在文件顶部添加注释
#freezed_string_literal:true
,以启用冻结字符串文本。在Ruby 3.0中,冻结的字符串文字将是默认值。注释将添加到shebang和encoding注释下面。冻结字符串文字注释仅在Ruby 2.3+中有效
您可以手动将魔术注释添加到文件顶部
# frozen_string_literal: true
还是让Rubocop帮你做
$ bundle exec rubocop --auto-correct --only FrozenStringLiteralComment
您还可以忽略rubocop.yml
,Style/FrozenStringLiteralComment