require 'ostruct' # creating a OpenStruct ab = OpenStruct.new p ab #=> # ab.foo = 25 p ab.foo #=> 25 ab[:bar] = 2 p ab["bar"] #=> 2 p ab #=> # ab.delete_field("foo") p ab.foo #=> nil p ab #=> # p son = OpenStruct.new({ :name => "Thomas", :age => 3 }) #=> # p son.name #=> "Thomas" p son[:age] #=> 3 son.age += 1 p son.age #=> 4 son.items = ["candy","toy"] p son.items #=> ["candy","toy"] p son #=> #