about summary refs log tree commit diff
path: root/app/models/concerns/cacheable.rb
blob: 51451d2607e8d12333e136f3685aba2388b56504 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# frozen_string_literal: true

module Cacheable
  extend ActiveSupport::Concern

  class_methods do
    def cache_associated(*associations)
      @cache_associated = associations
    end
  end

  included do
    scope :with_includes, -> { includes(@cache_associated) }
    scope :cache_ids, -> { select(:id, :updated_at) }
  end
end