steam-condenser 0.10.0 → 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
- :minor: 10
4
- :patch: 0
3
+ :minor: 10
4
+ :patch: 1
@@ -45,9 +45,9 @@ module Cacheable
45
45
  # Otherwise a new object is created.
46
46
  # Overrides the default constructor.
47
47
  def new(id, fetch = true, bypass_cache = false)
48
- if cached?(id) and !bypass_cache
48
+ if cached?(id) && !bypass_cache
49
49
  object = class_variable_get(:@@cache)[id]
50
- object.fetch_data if fetch and !object.fetched?
50
+ object.fetch if fetch && !object.fetched?
51
51
  object
52
52
  else
53
53
  super(id, fetch)
@@ -55,7 +55,7 @@ class SteamGroup
55
55
  @group_id64 = member_data.elements['groupID64'].text.to_i
56
56
  end
57
57
  total_pages = member_data.elements['totalPages'].text.to_i
58
-
58
+
59
59
  member_data.elements['members'].elements.each do |member|
60
60
  @members << SteamId.new(member.text.to_i, false)
61
61
  end
@@ -78,10 +78,10 @@ class SteamGroup
78
78
  end
79
79
 
80
80
  # Returns the members of this group
81
- # Calls +fetch_members+ if the members haven't been fetched already.
81
+ # Calls +fetch+ if the members haven't been fetched already.
82
82
  def members
83
- fetch_members if @members.nil? or @members[0].nil?
83
+ fetch if @members.nil? || @members[0].nil?
84
84
  @members
85
85
  end
86
-
87
- end
86
+
87
+ end
@@ -94,6 +94,10 @@ class SteamId
94
94
  raise SteamCondenserException.new(profile.elements['error'].text)
95
95
  end
96
96
 
97
+ @nickname = profile.elements['steamID'].text
98
+ @steam_id64 = profile.elements['steamID64'].text.to_i
99
+ @vac_banned = (profile.elements['vacBanned'].text == 1)
100
+
97
101
  unless REXML::XPath.first(profile, 'privacyMessage').nil?
98
102
  raise SteamCondenserException.new(profile.elements['privacyMessage'].text)
99
103
  end
@@ -102,9 +106,6 @@ class SteamId
102
106
  @online_state = profile.elements['onlineState'].text
103
107
  @privacy_state = profile.elements['privacyState'].text
104
108
  @state_message = profile.elements['stateMessage'].text
105
- @nickname = profile.elements['steamID'].text
106
- @steam_id64 = profile.elements['steamID64'].text.to_i
107
- @vac_banned = (profile.elements['vacBanned'].text == 1)
108
109
  @visibility_state = profile.elements['visibilityState'].text.to_i
109
110
 
110
111
  # Only public profiles can be scanned for further information
@@ -28,17 +28,21 @@ class S2A_INFO2_Packet < S2A_INFO_BasePacket
28
28
  @secure = @content_data.get_byte == 1
29
29
  @game_version = @content_data.get_string
30
30
  extra_data_flag = @content_data.get_byte
31
-
32
- if extra_data_flag & 0x80
31
+
32
+ unless extra_data_flag & 0x80 == 0
33
33
  @server_port = @content_data.get_short
34
34
  end
35
-
36
- if extra_data_flag & 0x40
35
+
36
+ unless extra_data_flag & 0x10 == 0
37
+ @server_id = @content_data.get_long | (@content_data.get_long << 32)
38
+ end
39
+
40
+ unless extra_data_flag & 0x40 == 0
37
41
  @tv_port = @content_data.get_short
38
42
  @tv_name = @content_data.get_string
39
- end
40
-
41
- if extra_data_flag & 0x20
43
+ end
44
+
45
+ unless extra_data_flag & 0x20 == 0
42
46
  @server_tags = @content_data.get_string
43
47
  end
44
48
  end
@@ -29,7 +29,6 @@ class S2A_RULES_Packet < SteamPacket
29
29
  break if rule.empty? or value.empty?
30
30
 
31
31
  @rules_hash[rule] = value
32
- puts "#{rule} = #{value}"
33
32
  end
34
33
  end
35
34
 
@@ -31,16 +31,8 @@ class SteamPacket
31
31
  end
32
32
 
33
33
  # Returns a packed string representing the packet's data
34
- #
35
- # TODO Has to automatically split packets greater than 1400 bytes
36
34
  def to_s
37
- packet_data = [0xFF, 0xFF, 0xFF].pack("ccc")
38
-
39
- unless @split_packet
40
- packet_data << [0xFF].pack("c")
41
- else
42
- packet_data << [0xFE].pack("c")
43
- end
35
+ packet_data = [0xFF, 0xFF, 0xFF, 0xFF].pack("cccc")
44
36
 
45
37
  return packet_data << [@header_data, @content_data.array].pack("ca*")
46
38
  end
@@ -122,11 +122,11 @@ class GameServer
122
122
  end
123
123
 
124
124
  unless response_packet.kind_of? expected_response
125
- warn "Expected #{expected_response}, got #{response_packet.class}."
125
+ puts "Expected #{expected_response}, got #{response_packet.class}." if $DEBUG
126
126
  self.handle_response_for_request(request_type, false) if repeat_on_failure
127
127
  end
128
128
  rescue TimeoutException
129
- warn "Expected #{expected_response}, but timed out."
129
+ puts "Expected #{expected_response}, but timed out." if $DEBUG
130
130
  end
131
131
  end
132
132
 
@@ -193,7 +193,7 @@ class GameServer
193
193
 
194
194
  if @player_hash != nil
195
195
  return_string << "Players:\n"
196
- @player_hash.each do |player|
196
+ @player_hash.each_value do |player|
197
197
  return_string << " #{player}\n"
198
198
  end
199
199
  end
@@ -35,9 +35,9 @@ class GoldSrcSocket < SteamSocket
35
35
 
36
36
  # Caching of split packet data
37
37
  split_packets[packet_number - 1] = @buffer.get
38
-
39
- warn "Received packet #{packet_number} of #{packet_count} for request ##{request_id}"
40
-
38
+
39
+ puts "Received packet #{packet_number} of #{packet_count} for request ##{request_id}" if $DEBUG
40
+
41
41
  # Receiving the next packet
42
42
  if split_packets.size < packet_count
43
43
  begin
@@ -55,9 +55,9 @@ class GoldSrcSocket < SteamSocket
55
55
  else
56
56
  packet = SteamPacketFactory.get_packet_from_data(@buffer.get)
57
57
  end
58
-
59
- warn "Got reply of type \"#{packet.class.to_s}\"."
60
-
58
+
59
+ puts "Got reply of type \"#{packet.class.to_s}\"." if $DEBUG
60
+
61
61
  return packet
62
62
  end
63
63
 
@@ -36,8 +36,8 @@ class SourceSocket < SteamSocket
36
36
 
37
37
  # Caching of split packet data
38
38
  split_packets[packet_number - 1] = @buffer.get
39
-
40
- warn "Received packet #{packet_number} of #{packet_count} for request ##{request_id}"
39
+
40
+ puts "Received packet #{packet_number} of #{packet_count} for request ##{request_id}" if $DEBUG
41
41
 
42
42
  # Receiving the next packet
43
43
  if split_packets.size < packet_count
@@ -61,9 +61,9 @@ class SourceSocket < SteamSocket
61
61
  end
62
62
 
63
63
  if is_compressed
64
- warn "Got compressed reply of type \"#{packet.class.to_s}\"."
64
+ puts "Got compressed reply of type \"#{packet.class.to_s}\"." if $DEBUG
65
65
  else
66
- warn "Got reply of type \"#{packet.class.to_s}\"."
66
+ puts "Got reply of type \"#{packet.class.to_s}\"." if $DEBUG
67
67
  end
68
68
 
69
69
  return packet
@@ -47,8 +47,8 @@ class SteamSocket
47
47
  end
48
48
 
49
49
  def send(data_packet)
50
- warn "Sending data packet of type \"#{data_packet.class.to_s}\"."
51
-
50
+ puts "Sending data packet of type \"#{data_packet.class.to_s}\"." if $DEBUG
51
+
52
52
  @buffer = ByteBuffer.wrap(data_packet.to_s)
53
53
  @channel.write(@buffer)
54
54
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 10
8
- - 0
9
- version: 0.10.0
8
+ - 1
9
+ version: 0.10.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Sebastian Staudt
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-02-24 00:00:00 +01:00
17
+ date: 2010-04-05 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies: []
20
20