Как я могу проверить синтаксис (не визуализировать) файл шаблона Rails 3 ERB? - PullRequest
10 голосов
/ 14 марта 2012

Я пытаюсь, чтобы ловушка git pre-commit выполняла синтаксическую проверку всего кода Ruby; на GitHub есть один на https://github.com/cypher/git-ruby-syntax-check.

Он пытается проверить .erb файлы с помощью erb -x, чтобы перевести их в код Ruby, а затем передает вывод в ruby -c для проверки синтаксиса. К сожалению, Rails 3 представил собственный анализатор ERB, который несовместим со стандартным ERB в Ruby, и поэтому ловушка перед фиксацией находит ошибки там, где их нет.

Есть ли какой-нибудь эквивалент erb -x, который будет выводить код Ruby из файла ERB Rails 3?

Ответы [ 2 ]

10 голосов
/ 14 марта 2012

Я не слишком много копался в них, но вы можете попробовать rails-erb-check ( Git project ) или эту запись в блоге .Я согласен с shingara, но в блоге описывается ситуация, в которой это полезно, и мне интересно, если вы находитесь в подобном положении:

Диаспора сейчас довольно подвижна.Это означает, что у нас есть некоторые зеленые тесты, некоторые отсутствующие тесты и другие тесты, которые проверяют намерение (не реализацию).В идеальном мире, я полагаю, тестовые случаи охватывали бы все наши базы ...

До этого я добавил в свою вилку новую задачу check_syntax: all.Это разбивается далее на подзадачи check_syntax: erb, check_syntax: haml, check_syntax: haml_ruby, check_syntax: sass и check_syntax: yaml.

2 голосов
/ 11 декабря 2013

Если для rails-erb-check вы получаете «ошибку слишком длинного списка аргументов», вы можете попробовать rails-erb-lint , которая сканирует вашу текущую папку просмотров.

...