Transforming JSON responses to Ruby objects with OpenStruct Discussion
This is great to see but I'd prefer to put the "key" as an attribute on the class itself. Maybe Vultr::Plan::KEY or a class attribute. That way we merely pass in the "type" and the Collection can either access the "::KEY" or class attribute of the type.
Hey Chris, have you considered simplifying this by using
JSON.parse('{"color": {"name": "red"}}', object_class: OpenStruct)
It seems to do what you are after :-)
I used to use this method object_class: OpenStruct
but when you use this pattern you cant
- transform inside the document it has pointers/links to break out into another object type
- Chain different secondary api calls for any links/pointers
also
OpenStruct
has terrible performance and rubocop will complain about this.
Great series of videos, I'm learning a lot here, Best investment I have made (Forget Udemy LOL). Thank you Chris!