dynamic loop in a hash

Sam Ginko
Fri, 03 Aug 2012 21:03:04 -0000

I''m trying to create a dynamic loop within the hash @data below and
can''t really seem to figure it out. The array within the hash has to be
dynamic i:e the day number has to be generated by a loop either while or
until and the name of the product  and number are dynamic as well. I''ll
try to explain in the loop below

@numdeployed comes from a table in the db

i = 0
until i == 12
  i.day.ago.to_date => { :coder=>@numdeployed,
:imedidata=>@numdeployed,
:balance=>@numdeployed, :CTMS=>@numdeployed },
  i += 1
end


Original Data Hash

@data = {
      1.day.ago.to_date => { :coder=>10, :imedidata=>40,
:balance=>10,
:CTMS=>40 },
      2.day.ago.to_date => { :coder=>10, :imedidata=>40,
:balance=>10,
:CTMS=>40 },
      3.day.ago.to_date => { :coder=>10, :imedidata=>40,
:balance=>10,
:CTMS=>40 },
      4.day.ago.to_date => { :coder=>10, :imedidata=>40,
:balance=>10,
:CTMS=>40 },
      5.day.ago.to_date => { :coder=>10, :imedidata=>40,
:balance=>10,
:CTMS=>40 },
      6.day.ago.to_date => { :coder=>10, :imedidata=>40,
:balance=>10,
:CTMS=>40 },
      7.day.ago.to_date => { :coder=>10, :imedidata=>40,
:balance=>10,
:CTMS=>40 },
      8.day.ago.to_date => { :coder=>10, :imedidata=>40,
:balance=>10,
:CTMS=>40 },
      9.day.ago.to_date => { :coder=>10, :imedidata=>40,
:balance=>10,
:CTMS=>40 },
     10.day.ago.to_date => { :coder=>200, :imedidata=>190,
:balance=>70,
:CTMS=>90 },
      11.day.ago.to_date => { :coder=>190, :imedidata=>200,
:balance=>200, :CTMS=>150 },
      12.day.ago.to_date => { :coder=>100, :imedidata=>400,
:balance=>100, :CTMS=>100 }

}

hope someone can help. Thanks