Module: Kagerator

Includes:
RestClient
Defined in:
lib/kagerator.rb,
lib/kagerator/request.rb,
lib/kagerator/version.rb,
lib/kagerator/response.rb

Overview

The main Kagerator class for consumption

Defined Under Namespace

Classes: Request, Response

Constant Summary collapse

API_URL =
'https://api.kag2d.com/'
VERSION =
'1.0.2'

Class Method Summary collapse

Class Method Details

.player(name, load_avatar = true) ⇒ SymbolTable

Get a player information

Parameters:

  • name (String)

    The username of the player

  • load_avatar (Boolean) (defaults to: true)

    Whether or not to add the avatar to the data loaded. Makes another HTTP request to the API

Returns:

  • (SymbolTable)

    A hash of the player data



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/kagerator.rb', line 13

def self.player(name,load_avatar = true)
  player = Kagerator::Request.execute({
    :url => "player/#{name}/status",
    :method => :get
  })
  if player
    player = player.from_json
    if load_avatar
      avatar = Kagerator::Request.execute({
        :url => "player/#{name}/avatar",
        :method => :get
      })
      if avatar
        player[:avatar] = avatar.from_json
      end
    end
    player
  else
    false
  end
end

.server(ip, port = 50301) ⇒ SymbolTable

Get information about a specific server

Parameters:

  • ip (String)

    The IP address of the server, in ipv4 or ipv6 format

  • port (String|Integer) (defaults to: 50301)

    The port of the server

Returns:

  • (SymbolTable)

    A hash of the server variables



62
63
64
65
66
67
68
# File 'lib/kagerator.rb', line 62

def self.server(ip,port = 50301)
  server = Kagerator::Request.execute({
    :url => "server/ip/#{ip}/port/#{port}/status",
    :method => :get
  })
  server.from_json
end

.servers(args = {}) ⇒ SymbolTable

Get a list of servers, filtered by any arguments

Parameters:

  • args (Hash) (defaults to: {})

    A hash of arguments to filter with

Returns:

  • (SymbolTable)

    An array of hashes of results



41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/kagerator.rb', line 41

def self.servers(args = {})
  qs = ''
  if args.class == Hash or args.class == SymbolTable
    args.each do |k,v|
      qs += '/'+k.to_s+'/'+v.to_s
    end
  end
  servers = Kagerator::Request.execute({
    :url => "servers/connectable/1"+qs,
    :method => :get
  })
  servers.from_json
end

.versionObject



3
# File 'lib/kagerator/version.rb', line 3

def self.version; VERSION; end