class Omega::Scoreboard

Public Class Methods

new(client, data) click to toggle source
# File lib/omega/scoreboard.rb, line 43
def initialize(client, data)
  @client = client
  @data = data.dup
  @data[:ranking] = {}
  data[:ranking].each do |entry|
    @data[:ranking][entry[:username]] = ScoreboardEntry.new(client, entry)
  end
end

Public Instance Methods

merge(board) click to toggle source
# File lib/omega/scoreboard.rb, line 52
def merge(board)
  result = clone
  board.data[:ranking].each do |user, score|
    result.data[:ranking][user] =
      result.data[:ranking][user].nil? ? score : result.data[:ranking][user].merge(score)
  end
  result
end
score_for(user) click to toggle source
# File lib/omega/scoreboard.rb, line 65
def score_for(user)
  @data[:ranking][user]
end
simple_display() click to toggle source
# File lib/omega/scoreboard.rb, line 61
def simple_display
  users.map(&:simple_display)
end
users() click to toggle source
# File lib/omega/scoreboard.rb, line 69
def users
  @data[:ranking].values.sort
end