Я хотел бы создать библиотеку шеф-повара, которая:
- Предоставляет несколько функций с именами.
- Доступ к атрибутам node
Эта библиотека предназначена для взаимодействия с внешней системой и получения от нее некоторых входов. Мне нужно получить доступ к атрибутам node, чтобы позволить пользователю переопределять входы, полученные от внешней системы:
Желаемое использование (рецепт)
inputs = MyLib.get_inputs
Библиотека (что у меня есть)
Это вдохновлено те документы.
class Chef::Recipe::MyLib
def self.get_inputs
override_inputs = node.fetch(:mylib, Hash.new).fetch(:override_inputs, nil)
unless override_inputs.nil?
return override_inputs
end
# Do stuff and return inputs (no problem here)
# ...
end
end
Проблема
Сейчас я получаю:
undefined local variable or method `node' for Chef::Recipe::Scalr:Class