steam-condenser 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +2 -1
- data/Rakefile +10 -1
- data/lib/steam-condenser/version.rb +1 -1
- data/lib/steam/community/app_news.rb +0 -0
- data/lib/steam/community/game_leaderboard.rb +199 -0
- data/lib/steam/community/game_leaderboard_entry.rb +43 -0
- data/lib/steam/community/game_stats.rb +16 -0
- data/lib/steam/community/steam_game.rb +18 -0
- data/lib/steam/community/steam_group.rb +9 -4
- data/lib/steam/community/steam_id.rb +45 -41
- data/lib/steam/community/tf2/tf2_beta_inventory.rb +22 -0
- data/lib/steam/community/tf2/tf2_golden_wrench.rb +0 -0
- data/lib/steam/community/tf2/tf2_stats.rb +10 -4
- data/lib/steam/community/web_api.rb +0 -0
- data/lib/steam/servers/master_server.rb +2 -1
- data/lib/steam/servers/server.rb +1 -1
- data/lib/steam/sockets/rcon_socket.rb +0 -1
- data/lib/steam/sockets/steam_socket.rb +2 -1
- data/steam-condenser.gemspec +5 -4
- data/test/core_ext/test_stringio.rb +59 -0
- data/test/fixtures/invalid.xml +2 -0
- data/test/fixtures/sonofthor.xml +882 -0
- data/test/fixtures/status_goldsrc +3 -0
- data/test/fixtures/status_source +3 -0
- data/test/fixtures/valve-members.xml +231 -0
- data/test/helper.rb +37 -0
- data/test/steam/communtiy/test_steam_group.rb +83 -0
- data/test/steam/communtiy/test_steam_id.rb +85 -0
- data/test/steam/communtiy/test_web_api.rb +98 -0
- data/test/steam/servers/test_game_server.rb +308 -0
- data/test/steam/servers/test_goldsrc_server.rb +59 -0
- data/test/steam/servers/test_master_server.rb +131 -0
- data/test/steam/servers/test_server.rb +72 -0
- data/test/steam/servers/test_source_server.rb +140 -0
- data/test/steam/sockets/test_goldsrc_socket.rb +127 -0
- data/test/steam/sockets/test_master_server_socket.rb +41 -0
- data/test/steam/sockets/test_rcon_socket.rb +109 -0
- data/test/steam/sockets/test_source_socket.rb +77 -0
- data/test/steam/sockets/test_steam_socket.rb +97 -0
- metadata +94 -34
- data/Gemfile.lock +0 -22
- data/test/query_tests.rb +0 -70
- data/test/rcon_tests.rb +0 -78
- data/test/steam/communtiy/steam_community_test_suite.rb +0 -12
- data/test/steam/communtiy/steam_group_tests.rb +0 -44
- data/test/steam/communtiy/steam_id_tests.rb +0 -49
- data/test/steam_community_tests.rb +0 -45
- data/test/stringio_additions_tests.rb +0 -77
@@ -0,0 +1,41 @@
|
|
1
|
+
# This code is free software; you can redistribute it and/or modify it under
|
2
|
+
# the terms of the new BSD License.
|
3
|
+
#
|
4
|
+
# Copyright (c) 2011, Sebastian Staudt
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
require 'steam/sockets/master_server_socket'
|
8
|
+
|
9
|
+
class TestMasterServerSocket < Test::Unit::TestCase
|
10
|
+
|
11
|
+
context 'A master server socket' do
|
12
|
+
|
13
|
+
setup do
|
14
|
+
@socket = MasterServerSocket.new '127.0.0.1'
|
15
|
+
end
|
16
|
+
|
17
|
+
should 'raise an error if the packet header is incorrect' do
|
18
|
+
@socket.stubs :receive_packet
|
19
|
+
@socket.instance_variable_get(:@buffer).expects(:long).returns 1
|
20
|
+
|
21
|
+
error = assert_raises PacketFormatError do
|
22
|
+
@socket.reply
|
23
|
+
end
|
24
|
+
assert_equal 'Master query response has wrong packet header.', error.message
|
25
|
+
end
|
26
|
+
|
27
|
+
should 'receive correct packets' do
|
28
|
+
@socket.expects(:receive_packet).with 1500
|
29
|
+
buffer = @socket.instance_variable_get :@buffer
|
30
|
+
buffer.expects(:long).returns 0xFFFFFFFF
|
31
|
+
buffer.expects(:get).returns 'test'
|
32
|
+
|
33
|
+
packet = mock
|
34
|
+
SteamPacketFactory.expects(:packet_from_data).with('test').returns packet
|
35
|
+
|
36
|
+
assert_equal packet, @socket.reply
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,109 @@
|
|
1
|
+
# This code is free software; you can redistribute it and/or modify it under
|
2
|
+
# the terms of the new BSD License.
|
3
|
+
#
|
4
|
+
# Copyright (c) 2011, Sebastian Staudt
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
require 'steam/sockets/rcon_socket'
|
8
|
+
|
9
|
+
class TestRCONSocket < Test::Unit::TestCase
|
10
|
+
|
11
|
+
context 'A new RCON socket' do
|
12
|
+
|
13
|
+
should 'know its IP and port, but not open a connection' do
|
14
|
+
socket = RCONSocket.new '127.0.0.1', 27015
|
15
|
+
|
16
|
+
assert_equal IPAddr.new('127.0.0.1'), socket.instance_variable_get(:@ip)
|
17
|
+
assert_equal 27015, socket.instance_variable_get(:@port)
|
18
|
+
assert_nil socket.instance_variable_get(:@socket)
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'A disconnected RCON socket' do
|
24
|
+
|
25
|
+
setup do
|
26
|
+
@socket = RCONSocket.new '127.0.0.1', 27015
|
27
|
+
end
|
28
|
+
|
29
|
+
should 'establish the TCP connection when sending' do
|
30
|
+
tcp_socket = mock
|
31
|
+
tcp_socket.expects(:send).with 'test', 0
|
32
|
+
@socket.expects(:connect).with do
|
33
|
+
@socket.instance_variable_set :@socket, tcp_socket
|
34
|
+
end
|
35
|
+
|
36
|
+
@socket.send mock(:to_s => 'test')
|
37
|
+
end
|
38
|
+
|
39
|
+
should 're-establish the TCP connection when sending' do
|
40
|
+
tcp_socket = mock
|
41
|
+
tcp_socket.expects(:closed?).returns true
|
42
|
+
tcp_socket.expects(:send).with 'test', 0
|
43
|
+
@socket.expects :connect
|
44
|
+
@socket.instance_variable_set :@socket, tcp_socket
|
45
|
+
|
46
|
+
packet = mock
|
47
|
+
packet.expects(:to_s).returns 'test'
|
48
|
+
@socket.send packet
|
49
|
+
end
|
50
|
+
|
51
|
+
should 'be able to establish the TCP connection' do
|
52
|
+
tcp_socket = mock
|
53
|
+
TCPSocket.expects(:new).with('127.0.0.1', 27015).
|
54
|
+
returns tcp_socket
|
55
|
+
|
56
|
+
@socket.connect
|
57
|
+
|
58
|
+
assert_equal tcp_socket, @socket.instance_variable_get(:@socket)
|
59
|
+
end
|
60
|
+
|
61
|
+
should 'raise a timeout if the connection cannot be established' do
|
62
|
+
@socket.expects(:timeout).raises Timeout::Error
|
63
|
+
|
64
|
+
assert_raises SteamCondenser::TimeoutError do
|
65
|
+
@socket.connect
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
context 'A connected RCON socket' do
|
72
|
+
|
73
|
+
setup do
|
74
|
+
@socket = RCONSocket.new '127.0.0.1', 27015
|
75
|
+
@tcp_socket = mock
|
76
|
+
@socket.instance_variable_set :@socket, @tcp_socket
|
77
|
+
end
|
78
|
+
|
79
|
+
should 'be able to close the TCP connection' do
|
80
|
+
@tcp_socket.expects :close
|
81
|
+
|
82
|
+
@socket.close
|
83
|
+
end
|
84
|
+
|
85
|
+
should 'receive responses using the TCP connection' do
|
86
|
+
buffer = mock
|
87
|
+
@socket.instance_variable_set :@buffer, buffer
|
88
|
+
|
89
|
+
buffer.expects(:long).returns 1234
|
90
|
+
buffer.expects(:get).twice.returns('test ').returns 'test'
|
91
|
+
@socket.expects(:receive_packet).with(4).returns 1
|
92
|
+
@socket.expects(:receive_packet).with(1234).returns 1000
|
93
|
+
@socket.expects(:receive_packet).with(234).returns 234
|
94
|
+
RCONPacketFactory.expects(:packet_from_data).with 'test test'
|
95
|
+
|
96
|
+
@socket.reply
|
97
|
+
end
|
98
|
+
|
99
|
+
should 'raise an error if the client has been banned' do
|
100
|
+
@socket.expects(:receive_packet).with(4).returns 0
|
101
|
+
|
102
|
+
assert_raises RCONBanError do
|
103
|
+
@socket.reply
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
|
109
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# This code is free software; you can redistribute it and/or modify it under
|
2
|
+
# the terms of the new BSD License.
|
3
|
+
#
|
4
|
+
# Copyright (c) 2011, Sebastian Staudt
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
require 'steam/sockets/source_socket'
|
8
|
+
|
9
|
+
class TestSourceSocket < Test::Unit::TestCase
|
10
|
+
|
11
|
+
context 'A Source socket' do
|
12
|
+
|
13
|
+
setup do
|
14
|
+
@socket = SourceSocket.new '127.0.0.1'
|
15
|
+
end
|
16
|
+
|
17
|
+
should 'be able to receive single packet replies' do
|
18
|
+
buffer = mock
|
19
|
+
@socket.instance_variable_set :@buffer, buffer
|
20
|
+
|
21
|
+
@socket.expects(:receive_packet).with 1400
|
22
|
+
data = mock
|
23
|
+
buffer.expects(:long).returns 0xFFFFFFFF
|
24
|
+
buffer.expects(:get).returns data
|
25
|
+
packet = mock
|
26
|
+
SteamPacketFactory.expects(:packet_from_data).with(data).returns packet
|
27
|
+
|
28
|
+
assert_equal packet, @socket.reply
|
29
|
+
end
|
30
|
+
|
31
|
+
should 'be able to receive split packet replies' do
|
32
|
+
buffer = mock
|
33
|
+
@socket.instance_variable_set :@buffer, buffer
|
34
|
+
|
35
|
+
@socket.expects(:receive_packet).with(1400)
|
36
|
+
@socket.expects(:receive_packet).with().returns 1400
|
37
|
+
|
38
|
+
data1, data2 = mock, mock
|
39
|
+
buffer.expects(:long).times(4).returns(0xFFFFFFFE).returns(1234).
|
40
|
+
returns(0xFFFFFFFE).returns 1234
|
41
|
+
buffer.expects(:byte).times(4).returns(0x02).returns(0x00).returns(0x02).
|
42
|
+
returns 0x01
|
43
|
+
buffer.expects(:short).twice
|
44
|
+
buffer.expects(:get).twice.returns(data1).returns(data2)
|
45
|
+
|
46
|
+
packet = mock
|
47
|
+
SteamPacketFactory.expects(:reassemble_packet).with([data1, data2]).
|
48
|
+
returns packet
|
49
|
+
|
50
|
+
assert_equal packet, @socket.reply
|
51
|
+
end
|
52
|
+
|
53
|
+
should 'be able to receive compressed replies' do
|
54
|
+
buffer = mock
|
55
|
+
@socket.instance_variable_set :@buffer, buffer
|
56
|
+
|
57
|
+
@socket.expects(:receive_packet).with(1400)
|
58
|
+
@socket.expects(:receive_packet).with().returns 1400
|
59
|
+
|
60
|
+
data1, data2 = mock, mock
|
61
|
+
buffer.expects(:long).times(8).returns(0xFFFFFFFE).returns(2147484882).
|
62
|
+
returns(0).returns(1337).returns(0xFFFFFFFE).returns(2147484882).
|
63
|
+
returns(0).returns 1337
|
64
|
+
buffer.expects(:byte).times(4).returns(0x02).returns(0x00).returns(0x02).
|
65
|
+
returns 0x01
|
66
|
+
buffer.expects(:get).twice.returns(data1).returns(data2)
|
67
|
+
|
68
|
+
packet = mock
|
69
|
+
SteamPacketFactory.expects(:reassemble_packet).
|
70
|
+
with([data1, data2], true, 1337).returns packet
|
71
|
+
|
72
|
+
assert_equal packet, @socket.reply
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# This code is free software; you can redistribute it and/or modify it under
|
2
|
+
# the terms of the new BSD License.
|
3
|
+
#
|
4
|
+
# Copyright (c) 2011, Sebastian Staudt
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
require 'steam/sockets/steam_socket'
|
8
|
+
|
9
|
+
class TestSteamSocket < Test::Unit::TestCase
|
10
|
+
|
11
|
+
class GenericSteamSocket
|
12
|
+
include SteamSocket
|
13
|
+
end
|
14
|
+
|
15
|
+
context 'The user timeout of a socket' do
|
16
|
+
|
17
|
+
should 'be able to change the timeout of a socket' do
|
18
|
+
SteamSocket.timeout = 2000
|
19
|
+
|
20
|
+
assert_equal 2000, SteamSocket.send(:class_variable_get, :@@timeout)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'A new socket' do
|
26
|
+
|
27
|
+
should 'create and connect an UDP socket' do
|
28
|
+
socket = mock
|
29
|
+
socket.expects(:connect).with '127.0.0.1', 27015
|
30
|
+
UDPSocket.expects(:new).returns socket
|
31
|
+
|
32
|
+
GenericSteamSocket.new '127.0.0.1'
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
context 'A socket' do
|
38
|
+
|
39
|
+
setup do
|
40
|
+
@udp_socket = mock
|
41
|
+
@udp_socket.stubs(:connect).with '127.0.0.1', 27015
|
42
|
+
UDPSocket.stubs(:new).returns @udp_socket
|
43
|
+
|
44
|
+
@socket = GenericSteamSocket.new '127.0.0.1'
|
45
|
+
end
|
46
|
+
|
47
|
+
should 'close the UDP socket if it is closed' do
|
48
|
+
@udp_socket.expects :close
|
49
|
+
|
50
|
+
@socket.close
|
51
|
+
end
|
52
|
+
|
53
|
+
should 'send packet data using the UDP socket' do
|
54
|
+
packet = mock
|
55
|
+
packet.expects(:to_s).returns 'test'
|
56
|
+
@udp_socket.expects(:send).with 'test', 0
|
57
|
+
|
58
|
+
@socket.send packet
|
59
|
+
end
|
60
|
+
|
61
|
+
should 'raise a timeout if no reply is received' do
|
62
|
+
@socket.expects(:select).with([@udp_socket], nil, nil, 1).returns nil
|
63
|
+
|
64
|
+
assert_raises SteamCondenser::TimeoutError do
|
65
|
+
@socket.receive_packet
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
should 'receive a packet into a new buffer' do
|
70
|
+
@socket.expects(:select).with([@udp_socket], nil, nil, 1).returns true
|
71
|
+
@udp_socket.expects(:recv).with(4).returns 'test'
|
72
|
+
|
73
|
+
assert_equal 4, @socket.receive_packet(4)
|
74
|
+
|
75
|
+
buffer = @socket.instance_variable_get :@buffer
|
76
|
+
assert_equal 0, buffer.pos
|
77
|
+
assert_equal 4, buffer.size
|
78
|
+
assert_equal 'test', buffer.string
|
79
|
+
end
|
80
|
+
|
81
|
+
should 'receive a packet into an existing buffer' do
|
82
|
+
@socket.instance_variable_set :@buffer, StringIO.alloc(10)
|
83
|
+
|
84
|
+
@socket.expects(:select).with([@udp_socket], nil, nil, 1).returns true
|
85
|
+
@udp_socket.expects(:recv).with(10).returns 'test'
|
86
|
+
|
87
|
+
assert_equal 4, @socket.receive_packet
|
88
|
+
|
89
|
+
buffer = @socket.instance_variable_get :@buffer
|
90
|
+
assert_equal 0, buffer.pos
|
91
|
+
assert_equal 4, buffer.size
|
92
|
+
assert_equal 'test', buffer.string
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
96
|
+
|
97
|
+
end
|
metadata
CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
+
- 1
|
8
9
|
- 0
|
9
|
-
|
10
|
-
version: 1.0.2
|
10
|
+
version: 1.1.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Sebastian Staudt
|
@@ -15,10 +15,12 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-12-13 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
|
21
|
+
name: bzip2-ruby
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
22
24
|
none: false
|
23
25
|
requirements:
|
24
26
|
- - ~>
|
@@ -29,12 +31,12 @@ dependencies:
|
|
29
31
|
- 2
|
30
32
|
- 7
|
31
33
|
version: 0.2.7
|
32
|
-
name: bzip2-ruby
|
33
|
-
prerelease: false
|
34
34
|
type: :runtime
|
35
|
-
|
35
|
+
version_requirements: *id001
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
|
-
|
37
|
+
name: multi_json
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
40
|
none: false
|
39
41
|
requirements:
|
40
42
|
- - ~>
|
@@ -45,12 +47,28 @@ dependencies:
|
|
45
47
|
- 0
|
46
48
|
- 3
|
47
49
|
version: 1.0.3
|
48
|
-
name: multi_json
|
49
|
-
prerelease: false
|
50
50
|
type: :runtime
|
51
|
-
|
51
|
+
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: mocha
|
54
|
+
prerelease: false
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ~>
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 55
|
61
|
+
segments:
|
62
|
+
- 0
|
63
|
+
- 10
|
64
|
+
- 0
|
65
|
+
version: 0.10.0
|
66
|
+
type: :development
|
67
|
+
version_requirements: *id003
|
52
68
|
- !ruby/object:Gem::Dependency
|
53
|
-
|
69
|
+
name: rake
|
70
|
+
prerelease: false
|
71
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
54
72
|
none: false
|
55
73
|
requirements:
|
56
74
|
- - ~>
|
@@ -61,12 +79,28 @@ dependencies:
|
|
61
79
|
- 9
|
62
80
|
- 2
|
63
81
|
version: 0.9.2
|
64
|
-
|
82
|
+
type: :development
|
83
|
+
version_requirements: *id004
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: shoulda-context
|
65
86
|
prerelease: false
|
87
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
89
|
+
requirements:
|
90
|
+
- - ~>
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
hash: 23
|
93
|
+
segments:
|
94
|
+
- 1
|
95
|
+
- 0
|
96
|
+
- 0
|
97
|
+
version: 1.0.0
|
66
98
|
type: :development
|
67
|
-
|
99
|
+
version_requirements: *id005
|
68
100
|
- !ruby/object:Gem::Dependency
|
69
|
-
|
101
|
+
name: yard
|
102
|
+
prerelease: false
|
103
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
70
104
|
none: false
|
71
105
|
requirements:
|
72
106
|
- - ~>
|
@@ -77,10 +111,8 @@ dependencies:
|
|
77
111
|
- 7
|
78
112
|
- 2
|
79
113
|
version: 0.7.2
|
80
|
-
name: yard
|
81
|
-
prerelease: false
|
82
114
|
type: :development
|
83
|
-
|
115
|
+
version_requirements: *id006
|
84
116
|
description: A multi-language library for querying the Steam Community, Source, GoldSrc servers and Steam master servers
|
85
117
|
email:
|
86
118
|
- koraktor@gmail.com
|
@@ -92,7 +124,6 @@ extra_rdoc_files: []
|
|
92
124
|
|
93
125
|
files:
|
94
126
|
- Gemfile
|
95
|
-
- Gemfile.lock
|
96
127
|
- lib/core_ext/stringio.rb
|
97
128
|
- lib/errors/packet_format_error.rb
|
98
129
|
- lib/errors/rcon_ban_error.rb
|
@@ -116,6 +147,8 @@ files:
|
|
116
147
|
- lib/steam/community/game_class.rb
|
117
148
|
- lib/steam/community/game_inventory.rb
|
118
149
|
- lib/steam/community/game_item.rb
|
150
|
+
- lib/steam/community/game_leaderboard.rb
|
151
|
+
- lib/steam/community/game_leaderboard_entry.rb
|
119
152
|
- lib/steam/community/game_stats.rb
|
120
153
|
- lib/steam/community/game_weapon.rb
|
121
154
|
- lib/steam/community/l4d/abstract_l4d_stats.rb
|
@@ -133,6 +166,7 @@ files:
|
|
133
166
|
- lib/steam/community/steam_game.rb
|
134
167
|
- lib/steam/community/steam_group.rb
|
135
168
|
- lib/steam/community/steam_id.rb
|
169
|
+
- lib/steam/community/tf2/tf2_beta_inventory.rb
|
136
170
|
- lib/steam/community/tf2/tf2_class.rb
|
137
171
|
- lib/steam/community/tf2/tf2_class_factory.rb
|
138
172
|
- lib/steam/community/tf2/tf2_engineer.rb
|
@@ -192,13 +226,26 @@ files:
|
|
192
226
|
- Rakefile
|
193
227
|
- README.md
|
194
228
|
- steam-condenser.gemspec
|
195
|
-
- test/
|
196
|
-
- test/
|
197
|
-
- test/
|
198
|
-
- test/
|
199
|
-
- test/
|
200
|
-
- test/
|
201
|
-
- test/
|
229
|
+
- test/core_ext/test_stringio.rb
|
230
|
+
- test/fixtures/invalid.xml
|
231
|
+
- test/fixtures/sonofthor.xml
|
232
|
+
- test/fixtures/status_goldsrc
|
233
|
+
- test/fixtures/status_source
|
234
|
+
- test/fixtures/valve-members.xml
|
235
|
+
- test/helper.rb
|
236
|
+
- test/steam/communtiy/test_steam_group.rb
|
237
|
+
- test/steam/communtiy/test_steam_id.rb
|
238
|
+
- test/steam/communtiy/test_web_api.rb
|
239
|
+
- test/steam/servers/test_game_server.rb
|
240
|
+
- test/steam/servers/test_goldsrc_server.rb
|
241
|
+
- test/steam/servers/test_master_server.rb
|
242
|
+
- test/steam/servers/test_server.rb
|
243
|
+
- test/steam/servers/test_source_server.rb
|
244
|
+
- test/steam/sockets/test_goldsrc_socket.rb
|
245
|
+
- test/steam/sockets/test_master_server_socket.rb
|
246
|
+
- test/steam/sockets/test_rcon_socket.rb
|
247
|
+
- test/steam/sockets/test_source_socket.rb
|
248
|
+
- test/steam/sockets/test_steam_socket.rb
|
202
249
|
homepage: http://koraktor.de/steam-condenser
|
203
250
|
licenses: []
|
204
251
|
|
@@ -228,15 +275,28 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
228
275
|
requirements: []
|
229
276
|
|
230
277
|
rubyforge_project:
|
231
|
-
rubygems_version: 1.8.
|
278
|
+
rubygems_version: 1.8.12
|
232
279
|
signing_key:
|
233
280
|
specification_version: 3
|
234
281
|
summary: Steam Condenser - A Steam query library
|
235
282
|
test_files:
|
236
|
-
- test/
|
237
|
-
- test/
|
238
|
-
- test/
|
239
|
-
- test/
|
240
|
-
- test/
|
241
|
-
- test/
|
242
|
-
- test/
|
283
|
+
- test/core_ext/test_stringio.rb
|
284
|
+
- test/fixtures/invalid.xml
|
285
|
+
- test/fixtures/sonofthor.xml
|
286
|
+
- test/fixtures/status_goldsrc
|
287
|
+
- test/fixtures/status_source
|
288
|
+
- test/fixtures/valve-members.xml
|
289
|
+
- test/helper.rb
|
290
|
+
- test/steam/communtiy/test_steam_group.rb
|
291
|
+
- test/steam/communtiy/test_steam_id.rb
|
292
|
+
- test/steam/communtiy/test_web_api.rb
|
293
|
+
- test/steam/servers/test_game_server.rb
|
294
|
+
- test/steam/servers/test_goldsrc_server.rb
|
295
|
+
- test/steam/servers/test_master_server.rb
|
296
|
+
- test/steam/servers/test_server.rb
|
297
|
+
- test/steam/servers/test_source_server.rb
|
298
|
+
- test/steam/sockets/test_goldsrc_socket.rb
|
299
|
+
- test/steam/sockets/test_master_server_socket.rb
|
300
|
+
- test/steam/sockets/test_rcon_socket.rb
|
301
|
+
- test/steam/sockets/test_source_socket.rb
|
302
|
+
- test/steam/sockets/test_steam_socket.rb
|