Ask A Question


You’re not receiving notifications from this thread.

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


  • 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!

Join the discussion
Create an account Log in

Want to stay up-to-date with Ruby on Rails?

Join 84,256+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.