🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

Расстановка директивы encoding: UTF-8 для Ruby 1.9

September 23, 2011 , revised April 9, 2012 in Ruby on Rails

В процессе переноса проекта на Ruby 1.9.3, как всегда, возникла проблема кодировки файлов, а именно того, что кодировку UTF-8 (как и любую другую, отличную от ASCII), нужно указывать явно.

Оказалось, это довольно легко сделать автоматически, с помощью консольного кунг-фу:

find . -iname '*.rb' -o -iname '*.rake' | \
  xargs file -I | \
  grep utf-8 | \
  sed -E 's/\:.+$//g' | \
  xargs -I {} sh -c "echo \"# encoding: utf-8\\n\" | cat - {} > /tmp/utf8comment.tmp && mv /tmp/utf8comment.tmp {}"

Вот и все, пять минут и требование выполнено.

Естественно, я не даю никаких гарантий, так что проверь git diff перед коммитом.

Buy me a coffee Понравился пост? Купи мне кофе