mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 17:18:19 +08:00
23 lines
424 B
Ruby
23 lines
424 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
|