Я обновляю приложение с rails 4 до rails 5. Я получаю ActionController::TestCase HTTP deprecation warning
. Я знаю, как это исправить. Например, get :show, id: 1, email: [email protected]
становится get :show, params: { id: 1, email: [email protected] }
, но приложение датируется Rails 2 и имеет много-много экземпляров предупреждения в более чем 50 спецификациях контроллера. Я пытаюсь разработать регулярное выражение, работающее в Sublime Text
, которое исправит большинство предупреждений. Моя первая попытка
Find: (get :[\w]*,)([^\n]*)
Replace : \1 params: { \2 }
Это работает во многих случаях, но терпит неудачу в следующих случаях
- It does not work if the
get
goes over more than one line. If it does go over one line, then the preceding line ends in,\n
.- It does not work for
put
,create
and the other http verbs - Это не работает, если есть другой тип ввода, например.
headers
.
- It does not work for
Последний случай не так важен для меня, так как у меня их относительно немного, поэтому я могу исправить их вручную. Может ли кто-нибудь предложить инструкцию по поиску регулярных выражений и замене, которая исправит большинство случаев устаревания?