Skip to content

Instantly share code, notes, and snippets.

@Veejay
Created May 1, 2012 19:30
Show Gist options
  • Save Veejay/2570724 to your computer and use it in GitHub Desktop.
Save Veejay/2570724 to your computer and use it in GitHub Desktop.
scope :for_project_and_date_range, lambda { |project, lower, upper|
if lower.cweek < upper.cweek
where(project_id: project.id, year: lower.year, cweek: Range.new(lower.cweek,upper.cweek))
else # The date range spans over two years
query = "project_id = ? AND ((cweek > ? AND year = ?) OR (cweek < ? AND year = ?))"
where(query, project.id, lower.cweek, lower.year, upper.cweek, upper.year)
end
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment