class Date include ErrorHelper def self.build_date_array(start_date, end_date) start_date = start_date.to_date end_date = end_date.to_date raise_start_date_before_end_date if (start_date > end_date) date_array = [] processable_date = start_date.dup while processable_date <= end_date date_array << processable_date processable_date = processable_date.tomorrow end return date_array end def build_date_array(date) date = date.to_date if self < date start_date = self end_date = date else start_date = date end_date = self end return Date.build_date_array(start_date, end_date) end end