title: Ruby: dynamically generate attribute_accessor
body: <p>I'm trying to generate the attr_reader from a hash (with nested hash) so that it mirror the instance_variable creation automatically.</p>
  
  <p>here is what i have so far:</p>
  
  <pre><code>data = {:@datetime =&gt; '2011-11-23', :@duration =&gt; '90', :@class =&gt; {:@price =&gt; '£7', :@level =&gt; 'all'}}
  
  
  class Event
   #attr_reader :datetime, :duration, :class, :price, :level
    def init(data, recursion)
     data.each do |name, value|
      if value.is_a? Hash
        init(value, recursion+1)
      else
        instance_variable_set(name, value)
        #bit missing: attr_accessor name.to_sym 
      end
    end
  end
  </code></pre>
  
  <p>But i can't find out a way to do that :(</p>