1
0
Fork 0
mirror of https://github.com/mastodon/mastodon.git synced 2024-08-20 21:08:15 -07:00
mastodon/app/models/concerns/cacheable.rb

26 lines
512 B
Ruby
Raw Normal View History

2016-11-30 06:57:56 -08:00
# frozen_string_literal: true
module Cacheable
extend ActiveSupport::Concern
module ClassMethods
@cache_associated = []
2016-11-30 06:57:56 -08:00
def cache_associated(*associations)
@cache_associated = associations
end
def with_includes
includes(@cache_associated)
end
def preload_cacheable_associations(records)
ActiveRecord::Associations::Preloader.new(records: records, associations: @cache_associated).call
end
def cache_ids
select(:id, :updated_at)
end
2016-11-30 06:57:56 -08:00
end
end