Я создаю файл конфигурации для одного из наших встроенных приложений. По сути, это файл json. У меня много проблем с получением puppet/ruby 1.8 для вывода хэша/json каждый раз одинаково.
сейчас я использую
<%= require "json"; JSON.pretty_generate data %>
Но при выводе удобочитаемого контента он не гарантирует каждый раз один и тот же порядок. Это означает, что puppet будет часто отправлять уведомления об изменениях для одних и тех же данных.
я тоже пробовал
<%= require "json"; JSON.pretty_generate Hash[*data.sort.flatten] %>
Который будет генерировать одни и те же данные/заказ каждый раз. Проблема возникает, когда данные имеют вложенный массив.
data => { beanstalkd => [ "server1", ] }
становится
"beanstalkd": "server1",
вместо
"beanstalkd": ["server1"],
Я боролся с этим в течение нескольких дней, поэтому мне нужна помощь.