A mensagem de erro significa que não há método cookbook_file na sua classe. Os nomes dos módulos não implicam herança de classes, eles apenas fornecem namespaces isolados. Se você quiser acessar os métodos do Chef, é necessário subclassificar classe apropriada do Chef. Aprender Ruby e Chef é muito para engolir de uma só vez. Escrever uma biblioteca eficaz levará algum tempo e, na maior parte, não deve ser necessário.
O fluxo de trabalho no Chef ainda não está padronizado. Existem várias abordagens diferentes que ainda competem pelas melhores práticas.
No entanto, sugiro que você comece com o Berkshelf. Ele irá construir uma estrutura básica de livro de receitas para você.
Tutorial para berkshelf (não é possível postar o URL real devido a limitações)
misheska.com/blog/2013/06/16/getting-started-writing-chef-cookbooks-the-berkshelf-way /
A documentação do chef está em processo de limpeza. Há alguns documentos antigos bastante incompletos e é difícil saber o que é atual. A maioria dos esforços atuais está indo para este site: