Рубокоп для табов
Вопрос
Мы хотели бы использовать Rubocop для проверки синтаксической правильности нашего Ruby и соблюдения основных правил кода.
Кроме того, у нас есть следующее правило:мы используем отступы с помощью табуляции, чтобы каждый мог решить, как они должны отображаться (отображать их как 2 или 4 пробела)
Проблема в том, что Rubocop, похоже, создан для того, чтобы ВООБЩЕ отказываться от вкладок для отступов.
Как мы можем обойти все эти правила, чтобы соответствовать требованиям космоса?
РЕДАКТИРОВАТЬ:Я думаю переопределить этот модуль https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/source_parser.rb заменить все табуляции в моих файлах на 2 пробела, чтобы создать иллюзию драгоценного камня...
Решение 4
Я переопределил этот модуль https://github.com/bbatsov / rubocop / blob / master / lib / rubocop / source_parser.rb Чтобы заменить все вкладки из моих файлов на 2 пространства, чтобы создать иллюзию для GEM ...
Другие советы
Добавьте в свой .rubocop.yml
:
Style/Tab:
Enabled: false
чтобы отключить правило вкладок.
Вы можете написать свой собственный изготовленный на заказ полицейский чтобы проверить правильность отступов.
Как злая неразветляющая вкладка пользователя, я закончил взломать это так.Эта разница для 0,32.1:
--- processed_source.rb.orig 2015-07-28 05:53:52.199418557 +0100
+++ processed_source.rb 2015-07-28 05:54:04.750420458 +0100
@@ -13,7 +13,7 @@
:parser_error, :raw_source
def self.from_file(path)
- file = File.read(path)
+ file = File.read(path).gsub(/^(\t+)/) {|m| ' ' * m.size }
new(file, path)
rescue
abort("#{Rainbow('rubocop: No such file or directory').red} -- #{path}")
.
Теперь вы должны сочетаться в идеально.Bwahahaha.
Для последней версии добавьте это в файл .rubocop.yml
:
Layout/Tab:
Enabled: false
.
Вы можете найти все параметры по умолчанию, перечисленные здесь:
https://github.com/rubocop-hq/рубокоп /blob/master/config/default.yml
И, правило определяется здесь:
https:// github.com / rubocop-hq / rubocop / blob / master / lib / rubocop / cop / layout / tab.rb