discourse/app/models/developer.rb

23 lines
423 B
Ruby

require_dependency 'distributed_cache'
class Developer < ActiveRecord::Base
belongs_to :user
after_save :rebuild_cache
after_destroy :rebuild_cache
@id_cache = DistributedCache.new('developer_ids')
def self.user_ids
@id_cache["ids"] || rebuild_cache
end
def self.rebuild_cache
@id_cache["ids"] = Set.new(Developer.pluck(:user_id))
end
def rebuild_cache
Developer.rebuild_cache
end
end