如何要求 Rubocop 检查特定的 method/keyword 用法?
How to ask Rubocop to check specific method/keyword usage?
我不希望在我们的代码库中使用 unscoped
。 rubocop 中是否存在允许我指定关键字的现有 linter?如果没有,如果我想完成它是否必须编写自定义 cop?
我的同伴帮助了我。看来我们需要编写自定义警察。
module RuboCop
module Cop
module Hired
class Unscoped < Cop
MSG = "Avoid using `unscoped`."
def_node_matcher :unscoped?, <<-END
(send _ :unscoped)
END
def on_send(node)
return unless unscoped?(node)
add_offense(node, :expression, MSG % node.source)
end
end
end
end
end
将其放入文件夹中,例如 lib/cops/
然后将其添加到 .rubocop.yml
:
require:
- ./lib/cops/<whatever_you_called_the_file>.rb
见http://www.rubydoc.info/github/bbatsov/RuboCop/RuboCop/NodePattern
我不希望在我们的代码库中使用 unscoped
。 rubocop 中是否存在允许我指定关键字的现有 linter?如果没有,如果我想完成它是否必须编写自定义 cop?
我的同伴帮助了我。看来我们需要编写自定义警察。
module RuboCop
module Cop
module Hired
class Unscoped < Cop
MSG = "Avoid using `unscoped`."
def_node_matcher :unscoped?, <<-END
(send _ :unscoped)
END
def on_send(node)
return unless unscoped?(node)
add_offense(node, :expression, MSG % node.source)
end
end
end
end
end
将其放入文件夹中,例如 lib/cops/
然后将其添加到 .rubocop.yml
:
require:
- ./lib/cops/<whatever_you_called_the_file>.rb
见http://www.rubydoc.info/github/bbatsov/RuboCop/RuboCop/NodePattern