2015-01-20 15 views
0

Я хотел бы rubocop, но у меня нет выхода, если нет никаких правонарушений. Я играл с документальными параметрами командной строки и быстро просмотрел опцию конфигурации и исходный код, не видя ничего перспективного.Как сделать rubocop ничего не выводимым, если нет предупреждений или нарушений?

Ближайший я пришел это rubocop -f o, но даже это дает резюме линия:

$ rubocop -f o 

-- 
0 Total 

Любые идеи о том, как подавить вывод на чистую, успешного запуска?

+1

Почему не конвейеру вывод через 'sed' и пусть это strip '" - \ n0 Всего "'? –

ответ

1

Я считаю, что нет предопределенного варианта делать то, что вы просите. Лучший вариант, я думаю, это реализовать пользовательский форматтер с желаемым поведением и использовать его для запуска RuboCop. В качестве супер простого примера рассмотрим следующее, вдохновленный SimpleTextFormatter RuboCop в:

# 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 
+0

Я делаю именно это прямо сейчас. Я немного повесил трубку, чтобы получить опции --require и --format, чтобы фактически вызвать мой новый форматтер ... но я уверен, что пройду мимо этого. Спасибо за совет, @ toro2k! –

 Смежные вопросы

  • Нет связанных вопросов^_^