como requerir mi biblioteca en chef ruby_block

Estoy desarrollando un libro de cocina para implementar una aplicación ROR simple. Escribo un app_helper.rb y lo puse en el directorio de bibliotecas de mi libro de recetas, aquí está el contenido:

module AppHelper

    def self.find_gem
      if File.exists?("/usr/local/rvm/bin/rvm")
        return `/usr/local/rvm/bin/rvm default exec which gem`.chomp
      else
        return "/usr/bin/gem"
      end
    end
  end

En las recetas / default.rb, mezclo en el módulo anterior en la clase Chef :: Recipe

class Chef::Recipe
  include AppHelper
end

Como saben, la función find_gem se puede llamar desde cualquier parte de la receta.

cuando estoy tratando de usar la función find_gem en mi ruby_block de esta manera:

ruby_block "find gem" do
   block do
    gem_bin = Chef::Recipe::find_gem
    # or gem_bin = find_gem
  end
end

Obtuve un NoMethodError: método indefinido 'find_gem'.

También intente mezclar el módulo en Chef :: Resource :: RubyBlock, no funciona tampoco.

class Chef::Resource::RubyBlock
  include AppHelper
end

ruby_block "find gem" do
   block do
    gem_bin = Chef::Resource::RubyBlock::find_gem
    # or gem_bin = find_gem
  end
end

¿Hay alguna forma de llamar a la función en el módulo desde el ruby_block? O ¿Existe una variable de chef para ubicar los archivos en las bibliotecas, de modo que pueda requerir el módulo en el ruby_block?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta