Method: CalendarDate.create_for_dates

Defined in:
app/models/calendar_date.rb

.create_for_dates(start_date = nil, end_date = nil) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/models/calendar_date.rb', line 23

def self.create_for_dates(start_date = nil, end_date = nil)
  start_date ||= Date.today
  end_date ||= 5.years.since(start_date)
  range = start_date..end_date
  existing_dates = Set.new
  self.by_dates(range).each {|d| existing_dates << d.value }
  range.each do |date|
    begin
      self.create(:value => date) unless existing_dates.include?(date)
    rescue; end
  end
end