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