Sha256: 1f7f6eb8a356c71b9d8f292981359c3ab01148a5468b9038e01b4ba4ac74dbfa

Contents?: true

Size: 813 Bytes

Versions: 10

Compression:

Stored size: 813 Bytes

Contents

module Workarea
  module Api
    module Admin
      module DateFiltering
        extend ActiveSupport::Concern
        included do
          index({ updated_at: 1 })
          index({ created_at: 1 })

          scope :by_updated_at, ->(starts_at:, ends_at:) do
            query = criteria
            query = query.where(:updated_at.gte => starts_at) unless starts_at.nil?
            query = query.where(:updated_at.lte => ends_at) unless ends_at.nil?
            query
          end

          scope :by_created_at, ->(starts_at:, ends_at:) do
            query = criteria
            query = query.where(:created_at.gte => starts_at) unless starts_at.nil?
            query = query.where(:created_at.lte => ends_at) unless ends_at.nil?
            query
          end
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
workarea-api-4.5.5 admin/app/models/workarea/api/admin/date_filtering.rb
workarea-api-admin-4.5.5 app/models/workarea/api/admin/date_filtering.rb
workarea-api-4.5.4 admin/app/models/workarea/api/admin/date_filtering.rb
workarea-api-admin-4.5.4 app/models/workarea/api/admin/date_filtering.rb
workarea-api-4.5.3 admin/app/models/workarea/api/admin/date_filtering.rb
workarea-api-admin-4.5.3 app/models/workarea/api/admin/date_filtering.rb
workarea-api-4.5.2 admin/app/models/workarea/api/admin/date_filtering.rb
workarea-api-admin-4.5.2 app/models/workarea/api/admin/date_filtering.rb
workarea-api-4.5.0 admin/app/models/workarea/api/admin/date_filtering.rb
workarea-api-admin-4.5.0 app/models/workarea/api/admin/date_filtering.rb