如何询问Rubocop检查具体的方法/关键字用法?

时间:2017-05-23 17:42:02

标签: ruby-on-rails rubocop

我想阻止在代码库中使用:id => 'new-protocol'。 rubocop中是否存在允许我指定关键字的linter?如果没有,如果我想完成它,我是否必须写一个自定义警察?

1 个答案:

答案 0 :(得分:2)

我的同伴帮助了我。看起来我们需要写一个自定义警察。

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