# Examples: # Post.by_day # Post.by_day(Time.yesterday) # Post.by_day("next tuesday") def by_day(time = Time.zone.now, options = {}, &block) time = parse(time) by_star(time.utc.beginning_of_day, time.utc.end_of_day, options, &block) end alias_method :today, :by_day # Examples: # Post.yesterday # # 2 days ago: # Post.yesterday(Time.yesterday) # # day before next tuesday # Post.yesterday("next tuesday") def yesterday(time = Time.zone.now, options = {}, &block) time = parse(time) by_day(time.advance(:days => -1), options, &block) end # Examples: # Post.tomorrow # # 2 days from now: # Post.tomorrow(Time.tomorrow) # # day after next tuesday # Post.tomorrow("next tuesday") def tomorrow(time = Time.zone.now, options = {}, &block) time = parse(time) by_day(time.advance(:days => 1), options, &block) end