Skip to content

Instantly share code, notes, and snippets.

@seanhandley
Created July 4, 2017 09:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save seanhandley/3517abaad013eadb21923b10ae68c2d3 to your computer and use it in GitHub Desktop.
Save seanhandley/3517abaad013eadb21923b10ae68c2d3 to your computer and use it in GitHub Desktop.
irb(main):001:0> require 'ostruct'
=> true
irb(main):002:0> data = { name: 'foo', bar: [:baz, "foo"], baz: {foo: "bar"}}
=> {:name=>"foo", :bar=>[:baz, "foo"], :baz=>{:foo=>"bar"}}
irb(main):003:0> OpenStruct.new(data)
=> #<OpenStruct name="foo", bar=[:baz, "foo"], baz={:foo=>"bar"}>
irb(main):004:0> obj = OpenStruct.new(data)
=> #<OpenStruct name="foo", bar=[:baz, "foo"], baz={:foo=>"bar"}>
irb(main):005:0> obj.name
=> "foo"
irb(main):006:0> obj.bar
=> [:baz, "foo"]
irb(main):007:0> obj.baz[:foo]
=> "bar"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment