class Dota::API::LiveMatch

Public Instance Methods

dire() click to toggle source
# File lib/dota/api/live_match.rb, line 40
def dire
  @dire ||= Side.new(raw_side("dire"))
end
duration() click to toggle source
# File lib/dota/api/live_match.rb, line 4
def duration
  raw_scoreboard["duration"]
end
league_id() click to toggle source
# File lib/dota/api/live_match.rb, line 8
def league_id
  raw["league_id"]
end
league_tier() click to toggle source
# File lib/dota/api/live_match.rb, line 12
def league_tier
  League::TIERS[raw["league_tier"]]
end
lobby_id() click to toggle source
# File lib/dota/api/live_match.rb, line 16
def lobby_id
  raw["lobby_id"]
end
radiant() click to toggle source
# File lib/dota/api/live_match.rb, line 36
def radiant
  @radiant ||= Side.new(raw_side("radiant"))
end
roshan_timer() click to toggle source
# File lib/dota/api/live_match.rb, line 32
def roshan_timer
  raw_scoreboard["roshan_respawn_timer"]
end
series_type() click to toggle source
# File lib/dota/api/live_match.rb, line 28
def series_type
  raw["series_type"]
end
spectators_count() click to toggle source
# File lib/dota/api/live_match.rb, line 20
def spectators_count
  raw["spectators"]
end
stream_delay() click to toggle source
# File lib/dota/api/live_match.rb, line 24
def stream_delay
  raw["stream_delay_s"]
end

Private Instance Methods

player_name_from_id(id) click to toggle source
# File lib/dota/api/live_match.rb, line 65
def player_name_from_id(id)
  raw["players"].detect { |p| id == p["account_id"] }["name"]
end
raw_scoreboard() click to toggle source
# File lib/dota/api/live_match.rb, line 46
def raw_scoreboard
  raw["scoreboard"] || {
    "radiant" => { "players" => [] },
    "dire" => { "players" => [] },
  }
end
raw_side(type) click to toggle source
# File lib/dota/api/live_match.rb, line 53
def raw_side(type)
  side_scoreboard = raw_scoreboard[type]
  side_players = side_scoreboard["players"].map do |player|
    player.merge("name" => player_name_from_id(player["account_id"]))
  end

  (raw["#{type}_team"] || {})
    .merge(side_scoreboard)
    .merge("players" => side_players)
    .merge("series_wins" => raw["#{type}_series_wins"])
end