2016-10-01 6 views
2

Ich benutze rubocop mit syntastic, um Chef-Code zu schreiben.rubocop "undefined Methode" für alles

Etwas Seltsames passiert, wo, nachdem ich alle Vorschläge von rubocop erfüllt habe, kennzeichnet jeden Funktionsaufruf "undefined".

Zum Beispiel hier ist das Markieren einen zusätzlichen Raum (dies ist ein Chef Ressource ich schreibe): enter image description here

OK so entferne ich den zusätzlichen Platz und eine Syntaxprüfung laufen und dann Flaggen alles wie undefined: enter image description here

Warum macht es das und wie kann ich dieses Verhalten stoppen?

+1

Wenn Ihre '.rb'-Datei nicht ordnungsgemäß eigenständig ist, da sie von einer Reihe von Dingen abhängt, die geladen werden, bevor Sie sie isoliert ausführen können, erhalten Sie möglicherweise Fehler wie diese. Gibt es eine Möglichkeit, Rubocop mitzuteilen, dass bestimmte Module zuerst geladen werden sollen? – tadman

+0

Kann ich diesen Check jetzt einfach überspringen? Sonst nehme ich an, ich müsste es an eine Tag-Datei anschließen, oder? – red888

+2

Syntastic hat einen "Foodcritic" Checker für 'Chef'. – lcd047

Antwort

4

Sie müssen diese Rubocop-Regel deaktivieren. Chef benutzt ein DSL, was bedeutet, dass es Methoden gibt, die magisch in den Kontext injiziert werden, den Rubocop nicht kennen kann.

Verwandte Themen