Вы все помогли мне на днях с помощью некоторого кода ruby, чтобы проанализировать строку и изменить ее ( Как проверить, что последний символ в строке - это число ). Теперь дело в том, как мне вставить это в рецепт шеф-повара, чтобы заполнить его шаблоном?
Блок ruby дает мне нужный мне результат, по крайней мере, когда я тестирую в автономном ruby. Из поиска в Интернете, казалось, что один из способов сделать это был с run_state []. К сожалению, он не заполняет шаблон.
По сути, в рецепте у меня есть следующий блок кода:
ruby_block "new db home" do
block do
if node['oracledb']['oraclehome']['db']['home'].split('/')[-1].include?('dbhome_')
db_home = node['oracledb']['oraclehome']['db']['home']
digits = db_home[/\d+$/]
db_home[/\d+$/] = digits.to_i.next.to_s if digits
else
db_home = db_home + "/dbhome_1"
end
node.run_state['new_db_home'] = db_home
end
not_if { node['oracledb']['oraclehome']['db']['version'] == '11.2.0.4' }
end
И затем в шаблоне я пытаюсь ссылатьсяэто как:
db_home=<% node.run_state['new_db_home'] %>