繁体   English   中英

如何正确设置to_yaml的样式

[英]How to style to_yaml correctly

我想存储一些有关一些应用程序的配置信息,以便创建一个“应用程序抽屉”。 我将信息存储在一个看起来像这样的数组中-

[["page_view", {"path"=>"somepath/asdf/asdf", "name"=>"Page View"}], ["outage_impact", {"path"=>"newpath/asdf/asdf", "name"=>"Outage Impact"}]]

但是当我在此数组上使用to_yaml ,得到以下输出:

--- 
- - page_view
  - path: somepath/asdf/asdf
    name: Page View
- - outage_impact
  - path: newpath/asdf/asdf
    name: Outage Impact 

理想情况下,我想要这样的东西:

page_view
  path: somepath/af/asdf
  name: blah
outage_impact
  name: blah
  path: adsf/adsf/asdf

我试图找到有关to_yaml方法的更多信息,但它之间相距甚远。 我认为我的数组可能需要采用不同的格式,但我一直在猜测并检查了一段时间而无济于事。

我是否应该完全使用to_yaml方法,否则其他方法会更好吗?

将其转换为哈希值,然后使用to_yaml将为您的示例提供类似的输出(但开头是---

arr = [["page_view", {"path"=>"somepath/asdf/asdf", "name"=>"Page View"}], ["outage_impact", {"path"=>"newpath/asdf/asdf", "name"=>"Outage Impact"}]]

puts Hash[*arr.flatten].to_yaml

给出:

---
page_view:
  path: somepath/asdf/asdf
  name: Page View
outage_impact:
  path: newpath/asdf/asdf
  name: Outage Impact

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM