Sha256: 86b032a601567cbfc5012deb8bdad555318f37e98e944e725398a76e190ae57a
Contents?: true
Size: 629 Bytes
Versions: 9
Compression:
Stored size: 629 Bytes
Contents
module Workarea class SynchronizeUserMetrics include Sidekiq::Worker include Sidekiq::CallbacksWorker sidekiq_options( enqueue_on: { User => :save, only_if: -> { admin_changed? || tags_changed? } }, queue: 'low' ) # It's essential for the {Metrics::User#admin} field always be in sync, so # we always want this worker enabled. # # @return [Boolean] # def self.enabled? true end def perform(id) user = User.find(id) metrics = Metrics::User.find_or_create_by(id: user.email) metrics.set(admin: user.admin?, tags: user.tags) end end end
Version data entries
9 entries across 9 versions & 1 rubygems