steam-condenser 1.0.2 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|