title: How to argue in ruby with a hash as parameter
body: <pre><code>class Product &lt; SimpleStore
  
  @@Product = []
  @@uniqueid = []
  
  attr_reader :title 
  attr_reader :price
  attr_reader :manufacturer
  attr_reader :manufacturer_code
  attr_reader :barcode
  attr_reader :hash
  attr_reader :code 
  attr_writer :price
  attr_writer :manufacturer_code
  attr_writer :code
  
  
  def initialize (hsh = {'title' =&gt;nil, 'price' =&gt;0, 'manufacturer_code' =&gt;0, 'barcode' =&gt;nil, 'product_code' =&gt;0})
      @@Product &lt;&lt; self
      @title = hsh['title']
      @price = hsh['price']
      @manufacturer_code = hsh['manufacturer_code'].to_i
      @manufacturer = AUTHORIZED_MANUFACTURERS.index(manufacturer_code)
      @barcode = hsh['barcode']
      @code = "#{PRODUCT_TYPES.index[product_code]}--#{@manufacturer_code}--#{@barcode}"
      @@uniqueid &lt;&lt; @code
  </code></pre>
  
  <p>When I try to initialize a new product</p>
  
  <pre><code>product1 = Product.new({'title'=&gt;"teste",'price'=&gt;10,'manufacture_code'=&gt;0,'barcode'=&gt;"aaa111",'product_code'=&gt;1})
  </code></pre>
  
  <p>I get <code>ArgumentError: wrong number of arguments (given 0, expected 1)</code></p>