Home > Uncategorized > Create a Ruby Object from a Hash

Create a Ruby Object from a Hash

From the Rubyforge snippet library:

class Hash
  def to_struct(struct_name)
    Struct.new(struct_name,*keys).new(*values)
  end
end
if $0 == __FILE__
   h = {:name=>"Dan","age"=>33,"rank"=>"SrA","grade"=>"E4"}
   s = h.to_struct("Foo")
   puts "name: " + s.name
   puts "age: " + s.age.to_s
   puts "rank: " + s.rank
   puts "grade: " + s.grade
end

=begin
Note: An empty string used as a key will cause 1.8 to choke
=end
Categories: Uncategorized Tags:
  1. No comments yet.
  1. No trackbacks yet.