Я пытаюсь преобразовать хеш и вложенные хэши в объекты.
до сих пор первый хэш-объект успешно преобразован этим кодом:
class Hashit
def initialize(hash)
hash.each do |k,v|
self.instance_variable_set("@#{k}", v)
self.class.send(:define_method, k, proc{self.instance_variable_get("@#{k}")})
self.class.send(:define_method, "#{k}=", proc{|v| self.instance_variable_set("@#{k}", v)})
end
end
end
Но проблема в том, что я также хочу преобразовать вложенные хэш-объекты. но не мог этого сделать.
h = Hashit.new({a: '123r', b: {c: 'sdvs'}})
=> #<Hashit:0x00000006516c78 @a="123r", @b={:c=>"sdvs"}>
см. @b={:c=>"sdvs"}
эту часть на выходе. Я хочу также преобразовать его в объект. возможно ли, если да, то как?