1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# 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) } end end