Sha256: a6c0942b038da25021f65c5eeb3ba8afaabd8f4a75f6c8dd9c15734296bb2367

Contents?: true

Size: 710 Bytes

Versions: 2

Compression:

Stored size: 710 Bytes

Contents

class QstatRequest
  def initialize(endpoint)
    @result = JSON.parse(%x[qstat -json -P -qws #{endpoint}]).first
  end

  def output
    <<~HEREDOC
      **#{address} | #{map} | #{numplayers}/#{maxplayers}**
      #{player_table}
    HEREDOC
  end

  def address
    @result["address"]
  end

  def map
    @result["map"]
  end

  def numplayers
    @result["numplayers"]
  end

  def maxplayers
    @result["maxplayers"]
  end

  def player_table
    players && players.sort_by { |player| player.team.number }.map(&:to_row).join("\n")
  end

  def players
    @result["players"] && @result["players"].map do |player_data|
      Player.new(player_data)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
qwtf_discord_bot-0.4.1 lib/qstat_request.rb
qwtf_discord_bot-0.4.0 lib/qstat_request.rb