class Scorecard::Scorer

Public Class Methods

level(user) click to toggle source
# File lib/scorecard/scorer.rb, line 2
def self.level(user)
  level = Scorecard::Level.for_user(user) || Scorecard::Level.new(user: user)
  level.amount = Scorecard.levels.call user
  return unless level.amount_changed?

  level.save
  ActiveSupport::Notifications.instrument 'level.scorecard', user: user
end
points(context, options) click to toggle source
# File lib/scorecard/scorer.rb, line 11
def self.points(context, options)
  ActiveSupport::Notifications.instrument 'points.internal.scorecard',
    options.merge(context: context)
end
points_async(context, options) click to toggle source
# File lib/scorecard/scorer.rb, line 16
def self.points_async(context, options)
  Scorecard::ScoreWorker.perform_async context,
    Scorecard::Parameters.new(options).expand
end
refresh(options) click to toggle source
# File lib/scorecard/scorer.rb, line 21
def self.refresh(options)
  ActiveSupport::Notifications.instrument 'progress.internal.scorecard',
    options
  ActiveSupport::Notifications.instrument 'badge.internal.scorecard',
    options
end
refresh_async(options) click to toggle source
# File lib/scorecard/scorer.rb, line 28
def self.refresh_async(options)
  Scorecard::RefreshWorker.perform_async(
    Scorecard::Parameters.new(options).expand
  )
end