Я создаю файл конфигурации для одного из наших встроенных приложений. По сути, это файл 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"],
Я боролся с этим в течение нескольких дней, поэтому мне нужна помощь