Created
November 2, 2010 18:00
-
-
Save tcocca/660016 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class SearchDateRange < ActiveRecord::Base | |
validates_presence_of :name | |
validates_presence_of :sort_order | |
def range_start_end | |
time = Time.zone.now | |
case self.name | |
when 'Today' | |
[time.beginning_of_day, time.end_of_day] | |
when 'This Week' | |
[time.beginning_of_week, time.end_of_week] | |
when 'This Week to Date' | |
[time.beginning_of_week, time.end_of_day] | |
when 'This Month' | |
[time.beginning_of_month, time.end_of_month] | |
when 'This Month to Date' | |
[time.beginning_of_month, time.end_of_day] | |
when 'This Quarter' | |
[time.beginning_of_quarter, time.end_of_quarter] | |
when 'This Quarter to Date' | |
[time.beginning_of_quarter, time.end_of_day] | |
when 'This Year' | |
[time.beginning_of_year, time.end_of_year] | |
when 'This Year to Date' | |
[time.beginning_of_year, time.end_of_day] | |
when 'Yesterday' | |
[time.yesterday.beginning_of_day, time.yesterday.end_of_day] | |
when 'Last Week' | |
[1.week.ago.beginning_of_week, 1.week.ago.end_of_week] | |
when 'Last Month' | |
[time.last_month.beginning_of_month, time.last_month.end_of_month] | |
when 'Last Quarter' | |
[(time.beginning_of_quarter - 1.day).beginning_of_quarter, (time.beginning_of_quarter - 1.day).end_of_quarter] | |
when 'Last Year' | |
[time.last_year.beginning_of_year, time.last_year.end_of_year] | |
when 'Since 30 Days Ago' | |
[30.days.ago.beginning_of_day, time.end_of_day] | |
when 'Since 60 Days Ago' | |
[60.days.ago.beginning_of_day, time.end_of_day] | |
when 'Since 90 Days Ago' | |
[90.days.ago.beginning_of_day, time.end_of_day] | |
when 'Since 365 Days Ago' | |
[365.days.ago.beginning_of_day, time.end_of_day] | |
when 'Next Week' | |
[time.next_week.beginning_of_week, time.next_week.end_of_week] | |
when 'Next Month' | |
[time.next_month.beginning_of_month, time.next_month.end_of_month] | |
when 'Next Quarter' | |
[(time.end_of_quarter + 1.day).beginning_of_quarter, (time.end_of_quarter + 1.day).end_of_quarter] | |
when 'Next Year' | |
[time.next_year.beginning_of_year, time.next_year.end_of_year] | |
when 'Balance of Week' | |
[time.beginning_of_day, time.end_of_week] | |
when 'Balance of Month' | |
[time.beginning_of_day, time.end_of_month] | |
when 'Balance of Quarter' | |
[time.beginning_of_day, time.end_of_quarter] | |
when 'Balance of Year' | |
[time.beginning_of_day, time.end_of_year] | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment