From: abhilashmv@... Date: 2018-10-15T14:03:22+00:00 Subject: [ruby-core:89406] [Ruby trunk Feature#15225] OpenStruct: Recursively converting child Hash object attributes to OpenStruct objects. Issue #15225 has been reported by abhionlyone (Abhilash Reddy). ---------------------------------------- Feature #15225: OpenStruct: Recursively converting child Hash object attributes to OpenStruct objects. https://bugs.ruby-lang.org/issues/15225 * Author: abhionlyone (Abhilash Reddy) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Currently, OpenStruct allows this: ~~~ ruby person = OpenStruct.new person.age = 25 person.name = "Abhilash" puts person.name # "Abhilash" ~~~ But something like this is not possible: ~~~ ruby person.more_info = {country: "Japan", skills: ["Ruby", "C++"]} puts person.more_info.country # NoMethodError (undefined method `country' for {:country=>"Japan"}:Hash) ~~~ It will be very helpful if we can provide an option to recursively convert child Hash objects to OpenStruct objects. By default it can be set to false. I've done a basic implementation of this and created a PR here: https://github.com/ruby/ostruct/pull/5 Please let me know if there are any objections. If this can be accepted, I would like to add test cases for the same. -- https://bugs.ruby-lang.org/ Unsubscribe: