A Rails plugin to add handy, time-based scopes.
Given a model:
# db/migrate/XXXXXXXXXXXXXX_create_asdfs.rb
class CreateAsdfs < ActiveRecord::Migration[6.0]
  def change
    create_table :asdfs do |t|
      t.date :dated_on
      t.datetime :datetimed_at
    end
  end
endInclude the TimelyScopes module and declare the scopes you want using add_timely_scopes:
# app/models/asdf.rb
class Asdf < ApplicationRecord
  include TimelyScopes
  add_timely_scopes(
    :dated_after,
    :dated_before,
    :dated_from,
    :dated_until,
    :datetimed_after,
    :datetimed_before,
    :datetimed_from,
    :datetimed_until,
  )
endAdd this line to your application's Gemfile:
gem "timely_scopes"And then execute:
$ bundleThe gem is available as open source under the terms of the MIT License.