【发布时间】:2013-05-03 14:04:41
【问题描述】:
我得到了一些具有不同结构的 yml 配置文件,我想提取密码(位于不同级别)并将它们存储在 git repo 外部的 yml 文件中。举个例子吧
config1.yml
a:
b:
c: 1
password: secret
...
d: 2
...
我希望将 secret 替换为 '' 并提取到另一个 yml 文件,如下所示:
config1_passwords.yml
a:
b:
password: secret
有没有办法将没有密码的config1.yml 与config1_passwords.yml 合并以获得正确的配置结构?
所以基本上就哈希(解析的 ymls)而言,我想做以下事情:
{ :a => { :b => { :c => 1, :password => '' }, :d => 2 } }
{ :a => { :b => { :password => 'secret' } } }
# =>
{ :a => { :b => { :c => 1, :password => 'secret' }, :d => 2 } }
感谢您的建议
已编辑 另一个例子
{ :a => { :b => { :c => 1, :d => { :password1 => '' }, :password2 => '' } } }
{ :a => { :b => { :d => { :password => 'secret' }, :password2 => 'secret2' } } }
# =>
{ :a => { :b => { :c => 1, :d => { :password => 'secret' }, :password2 => 'secret2' } } }
【问题讨论】:
-
与
{ :a => { :b => { :c => 1, :password => '' }, :d => 2 } }和{ :a => { :b => { :password => 'secret' } } }你想要{ :a => { :b => { :c => 1, :password => 'secret' }, :d => 2 } }。我说的对吗? -
是的,但结构可能不同,并且不同级别可能有多个密码。第二个哈希将只包含密码,不管它有多深,所以我需要一个通用的解决方案
标签: ruby-on-rails ruby hash yaml