Учитывая, что у меня есть этот хеш:
h = { a: 'a', b: 'b', c: { d: 'd', e: 'e'} }
И я конвертирую в OpenStruct:
o = OpenStruct.new(h)
=> #<OpenStruct a="a", b="b", c={:d=>"d", :e=>"e"}>
o.a
=> "a"
o.b
=> "b"
o.c
=> {:d=>"d", :e=>"e"}
2.1.2 :006 > o.c.d
NoMethodError: undefined method `d' for {:d=>"d", :e=>"e"}:Hash
Я хочу, чтобы все вложенные ключи были методами. Поэтому я могу получить доступ к d
как таковой:
o.c.d
=> "d"
Как я могу это достичь?