2016-10-01 65 views
2

我使用rubocop合成器來編寫Chef代碼。rubocop「未定義方法」的一切

一些奇怪的事情發生後,我滿足所有rubocop的建議它標記每個函數調用「未定義」。

例如這標記一個額外的空間(這是我寫一個廚師資源): enter image description here

行,所以我刪除多餘的空間和運行語法檢查,然後將其標誌都爲未定義: enter image description here

爲什麼它這樣做,我該如何阻止這種行爲?

+1

如果你的'.rb'文件沒有正確的自包含,因爲它依賴於一些被加載的東西,然後你可以單獨運行它,你可能會得到這樣的錯誤。有沒有辦法告訴Rubocop首先加載特定的模塊? – tadman

+0

我現在可以跳過這個檢查嗎?否則,我假設我不得不將它連接到標記文件嗎? – red888

+2

Syntastic有一個'foodcritic'檢查'廚師'。 – lcd047

回答

4

您必須禁用該Rubocop規則。廚師使用DSL,這意味着有些方法會被神奇地注入到Rubocop無法瞭解的環境中。