如何通过这种方式定义 ruby 哈希?
default['mgmt']['query'] = {
'default_interval' => {'diff' => 3600, 'snapshot' => 86400 * 7},
'tables' => {
'deb_packages' => default_interval,
'rpm_packages' => default_interval,
...
}
}
编辑:上面的代码是厨师食谱的attributes/default.rb
我正在寻找一种方法来定义 Hash 内的 default_interval 并且能够被其他字段引用,以便 default_interval 可以被其他 Chef 方法(例如环境 json)覆盖。
这就是为什么我不选择简单地定义一个全局 default_interval var 的原因。
目前,我使用以下定义来表示 default_interval
default['mgmt']['query'] = {
'default_interval' => {'diff' => 3600, 'snapshot' => 86400 * 7},
'tables' => {
'deb_packages' => {} # default_interval,
'rpm_packages' => {} # default_interval,
...
}
}
空的{}
可以被环境json等其他主厨手段覆盖改成{diff: 600, snapshot:86400}
有更好的酷方法吗?