我有带有继承的 YAML 文件,我想以编程方式添加或编辑密钥。我使用 YAML.load 方法将 YAML 加载到哈希中,但是当我使用 YAML.dump 保存哈希时,我丢失了所有继承信息。
有没有办法在 Ruby 中编辑 YAML 而不会丢失继承信息?
YAML 示例:
main:
prod: &prod
key1: true
key2: 50
key3: "abc"
prod_v_3_5: &prod_v_3_5
<<: *prod
key2: 100
prod_v_3_6: &prod_v_3_6
<<: *prod_v_3_5
key2: 150
代码示例:
config = Api.get(id)
yaml = YAML.load(config)
yaml["main"][section].store(key, value)
config = YAML.dump(yaml)
Api.set(id, config)