我有使用Psych的Ruby,就像这样编写YAML:
---
- !ruby/struct:Dhc::QueryEvent
time: 2018-01-02T07:45:18.470Z
hits: 2525
qtime: 13
server: search1
q: search term
searched_in:
- productA
- productB
- productC
有没有办法可以在没有" !ruby/struct:Dhc::QueryEvent
"的情况下编写YAML?标签?我希望格式化存储,以便它不依赖于我的struct:Dhc::QueryEvent
进行阅读。换句话说,我希望其他人能够灵活地阅读他们想要的YAML。目前,他们得到
undefined class/module Dhc:: (ArgumentError)
然后,当我自己阅读文件时,Psych中是否有一个配置允许我将未标记的记录读入我的Dhc::QueryEvent
结构中?我认为这就像
ar = []
Psych.parse_stream(yaml_stream) do |node|
ar << Dhc::QueryEvent.new(node.time, node.hits, etc...)
end
但也许有一个更短的方式?