Ich aktualisiere eine App von Schienen 4 auf Schienen 5. Ich bekomme die ActionController::TestCase HTTP deprecation warning
. Ich weiß, wie ich es beheben kann. Zum Beispiel get :show, id: 1, email: [email protected]
wird get :show, params: { id: 1, email: [email protected] }
, aber die App stammt aus Schienen 2 und hat viele, viele Instanzen der Warnung in über 50 Controller-Spezifikationen. Ich versuche, eine Regex zu entwickeln, die in Sublime Text
funktioniert, die die meisten Warnungen beheben wird. Mein erster Versuch istEin Regex, um die ActionController :: TestCase HTTP-Verfallswarnung zu beheben
Find: (get :[\w]*,)([^\n]*)
Replace : \1 params: { \2 }
Dies funktioniert in vielen Fällen aber nicht auf folgende Weise
- Es funktioniert nicht, wenn die
get
über die Leitung mehr als einem geht. Wenn es über eine Zeile hinausgeht, endet die vorhergehende Zeile in,\n
.- Es funktioniert nicht für
put
,create
und die anderen http Verben - Es funktioniert nicht, wenn es eine andere Art von Eingabe ist z.B.
headers
.
- Es funktioniert nicht für
Der letzte Fall ist mir nicht so wichtig, da ich relativ wenige davon haben, so dass diese manuell beheben können. Kann jemand eine Find Regex- und Replace-Anweisung vorschlagen, die die meisten Deprecation-Fälle repariert?
Das ist interessant. Es ist zu spät, um es in meinem Code zu verwenden, aber ich werde die robocop Autofix-Funktion in Zukunft im Auge behalten. – Obromios