I would try to combine the previous answer solution with DateTime.now.beginning_of_week:
week_beginning = DateTime.now.beginning_of_week
7.times do |day_number|
day = week_beginning + day_number.days
#assuming we start at 8:30AM
first_hour = day + 8.hours + 30.minutes
#you have the 'pivot' for the day, just create as much time ranges as you want now
hour1 = first_hour + 1.hour
hour2 = ...
# (Obviously you will somehow iterate to get all the hours)
end
Rails date and time support is really fantastic, just have a look at ActiveSupport's extensions.