我对红宝石完全陌生。我必须解析一个 YAML 文件来构造一个对象
YAML 文件
projects:
- name: Project1
developers:
- name: Dev1
certifications:
- name: cert1
- name: Dev2
certifications:
- name: cert2
- name: Project2
developers:
- name: Dev1
certifications:
- name: cert3
- name: Dev2
certifications:
- name: cert4
我想从此 YAML 创建一个对象,为此我用 Ruby 编写了以下代码
require 'yaml'
object = YAML.load(File.read('./file.yaml'))
我可以使用 [] 成功访问该对象的属性,例如
puts object[projects].first[developers].last[certifications].first[name]
# prints ABC
但是,我想通过方法调用访问属性
例如
puts object.projects.first.developers.last.certifications.first.name
# should print ABC
有没有办法构造这样一个对象,其属性可以通过上述(点)方式访问?我读过OpenStruct和hashugar。我也想避免使用第三方宝石