如果没有警告或违法行为,如何使rubocop输出什么?

时间:2015-01-20 15:22:07

标签: ruby suppress-warnings suppress rubocop

我喜欢rubocop,但如果没有违法行为,它就不会产生输出。我已经使用了文档化的命令行选项,并快速查看了配置选项和源代码,但没有看到任何有希望的事情。

我最接近的是rubocop -f o,但即使这样也会产生摘要:

$ rubocop -f o

--
0  Total

关于如何在干净,成功的运行中抑制输出的任何想法?

1 个答案:

答案 0 :(得分:1)

我相信没有预定义的选项来做你要求的事情。我认为最好的选择是实现具有所需行为的自定义格式化程序,并使用它来运行RuboCop。作为一个非常简单的例子,请考虑以下内容,受RuboCop的SimpleTextFormatter启发:

# my_rubocop_formatter.rb
class MyRuboCopFormatter < RuboCop::Formatter::BaseFormatter
  def started(target_files)
    @total_offenses = 0
  end
  def file_finished(file, offenses)
    unless offenses.empty?
      output.puts(offenses)
      @total_offenses += offenses.count
    end
  end
  def finished(inspected_files)
    puts @total_offenses unless @total_offenses.zero?
  end
end

您可以使用以下命令运行RuboCop:

rubocop -r '/path/to/my_rubocop_formatter.rb' \ 
        -f MyRuboCopFormatter file_to_check.rb