steam-condenser 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (371) hide show
  1. data/Gemfile.lock +7 -7
  2. data/README.md +9 -2
  3. data/doc/A2M_GET_SERVERS_BATCH2_Packet.html +426 -0
  4. data/doc/A2S_INFO_Packet.html +260 -0
  5. data/doc/A2S_PLAYER_Packet.html +295 -0
  6. data/doc/A2S_RULES_Packet.html +296 -0
  7. data/doc/A2S_SERVERQUERY_GETCHALLENGE_Packet.html +261 -0
  8. data/doc/AbstractL4DStats.html +978 -0
  9. data/doc/AbstractL4DWeapon.html +734 -0
  10. data/doc/Achievement.html +660 -0
  11. data/doc/AlienSwarmMission.html +1557 -0
  12. data/doc/AlienSwarmStats.html +965 -0
  13. data/doc/AlienSwarmWeapon.html +640 -0
  14. data/doc/AppNews.html +1442 -0
  15. data/doc/C2M_CHECKMD5_Packet.html +341 -0
  16. data/doc/CSSMap.html +806 -0
  17. data/doc/CSSStats.html +825 -0
  18. data/doc/CSSWeapon.html +889 -0
  19. data/doc/Cacheable.html +913 -0
  20. data/doc/Cacheable/ClassMethods.html +696 -0
  21. data/doc/DefenseGridStats.html +2559 -0
  22. data/doc/DoDSClass.html +1264 -0
  23. data/doc/DoDSStats.html +486 -0
  24. data/doc/DoDSWeapon.html +806 -0
  25. data/doc/Dota2BetaInventory.html +339 -0
  26. data/doc/Dota2Inventory.html +339 -0
  27. data/doc/Dota2Item.html +388 -0
  28. data/doc/Dota2Stats.html +366 -0
  29. data/doc/GameAchievement.html +1257 -0
  30. data/doc/GameClass.html +321 -0
  31. data/doc/GameInventory.html +1363 -0
  32. data/doc/GameItem.html +1339 -0
  33. data/doc/GameLeaderboard.html +1609 -0
  34. data/doc/GameLeaderboardEntry.html +629 -0
  35. data/doc/GameSchema.html +568 -0
  36. data/doc/GameServer.html +2405 -0
  37. data/doc/GameStats.html +1461 -0
  38. data/doc/GameWeapon.html +590 -0
  39. data/doc/GoldSrcServer.html +740 -0
  40. data/doc/GoldSrcSocket.html +850 -0
  41. data/doc/ItemSchema.html +780 -0
  42. data/doc/L4D2Map.html +739 -0
  43. data/doc/L4D2Stats.html +930 -0
  44. data/doc/L4D2Weapon.html +486 -0
  45. data/doc/L4DExplosive.html +374 -0
  46. data/doc/L4DMap.html +776 -0
  47. data/doc/L4DStats.html +530 -0
  48. data/doc/L4DWeapon.html +296 -0
  49. data/doc/M2A_SERVER_BATCH_Packet.html +430 -0
  50. data/doc/M2C_ISVALIDMD5_Packet.html +383 -0
  51. data/doc/M2S_REQUESTRESTART_Packet.html +382 -0
  52. data/doc/MasterServer.html +1070 -0
  53. data/doc/MasterServerSocket.html +293 -0
  54. data/doc/Module.html +194 -0
  55. data/doc/PacketFormatError.html +257 -0
  56. data/doc/Portal2Inventory.html +339 -0
  57. data/doc/Portal2Item.html +499 -0
  58. data/doc/Portal2Stats.html +368 -0
  59. data/doc/RCONAuthRequest.html +318 -0
  60. data/doc/RCONAuthResponse.html +305 -0
  61. data/doc/RCONBanError.html +247 -0
  62. data/doc/RCONExecRequest.html +318 -0
  63. data/doc/RCONExecResponse.html +407 -0
  64. data/doc/RCONGoldSrcRequest.html +363 -0
  65. data/doc/RCONGoldSrcResponse.html +367 -0
  66. data/doc/RCONNoAuthError.html +247 -0
  67. data/doc/RCONPacket.html +548 -0
  68. data/doc/RCONPacketFactory.html +300 -0
  69. data/doc/RCONSocket.html +669 -0
  70. data/doc/RCONTerminator.html +304 -0
  71. data/doc/RequestWithChallenge.html +233 -0
  72. data/doc/S2A_INFO2_Packet.html +371 -0
  73. data/doc/S2A_INFO_BasePacket.html +357 -0
  74. data/doc/S2A_INFO_DETAILED_Packet.html +370 -0
  75. data/doc/S2A_LOGSTRING_Packet.html +373 -0
  76. data/doc/S2A_PLAYER_Packet.html +417 -0
  77. data/doc/S2A_RULES_Packet.html +411 -0
  78. data/doc/S2C_CHALLENGE_Packet.html +370 -0
  79. data/doc/S2M_HEARTBEAT2_Packet.html +444 -0
  80. data/doc/Server.html +781 -0
  81. data/doc/SourceServer.html +776 -0
  82. data/doc/SourceSocket.html +366 -0
  83. data/doc/StatsAttribute.html +514 -0
  84. data/doc/SteamCondenser.html +155 -0
  85. data/doc/SteamCondenser/A2M_GET_SERVERS_BATCH2_Packet.html +413 -0
  86. data/doc/SteamCondenser/A2S_INFO_Packet.html +249 -0
  87. data/doc/SteamCondenser/A2S_PLAYER_Packet.html +281 -0
  88. data/doc/SteamCondenser/A2S_RULES_Packet.html +282 -0
  89. data/doc/SteamCondenser/A2S_SERVERQUERY_GETCHALLENGE_Packet.html +250 -0
  90. data/doc/SteamCondenser/AbstractL4DStats.html +954 -0
  91. data/doc/SteamCondenser/AbstractL4DWeapon.html +703 -0
  92. data/doc/SteamCondenser/AlienSwarmMission.html +1494 -0
  93. data/doc/SteamCondenser/AlienSwarmStats.html +938 -0
  94. data/doc/SteamCondenser/AlienSwarmWeapon.html +614 -0
  95. data/doc/SteamCondenser/AppNews.html +1387 -0
  96. data/doc/SteamCondenser/C2M_CHECKMD5_Packet.html +327 -0
  97. data/doc/SteamCondenser/CSSMap.html +774 -0
  98. data/doc/SteamCondenser/CSSStats.html +799 -0
  99. data/doc/SteamCondenser/CSSWeapon.html +855 -0
  100. data/doc/SteamCondenser/Cacheable.html +698 -0
  101. data/doc/SteamCondenser/Cacheable/ClassMethods.html +531 -0
  102. data/doc/SteamCondenser/Community.html +134 -0
  103. data/doc/SteamCondenser/DefenseGridStats.html +2455 -0
  104. data/doc/SteamCondenser/DoDSClass.html +1209 -0
  105. data/doc/SteamCondenser/DoDSStats.html +470 -0
  106. data/doc/SteamCondenser/DoDSWeapon.html +774 -0
  107. data/doc/SteamCondenser/Error.html +156 -0
  108. data/doc/SteamCondenser/Error/PacketFormat.html +246 -0
  109. data/doc/SteamCondenser/Error/RCONBan.html +237 -0
  110. data/doc/SteamCondenser/Error/RCONNoAuth.html +236 -0
  111. data/doc/SteamCondenser/Error/Timeout.html +238 -0
  112. data/doc/SteamCondenser/Error/WebApi.html +339 -0
  113. data/doc/SteamCondenser/GameAchievement.html +1210 -0
  114. data/doc/SteamCondenser/GameClass.html +306 -0
  115. data/doc/SteamCondenser/GameInventory.html +1236 -0
  116. data/doc/SteamCondenser/GameItem.html +1282 -0
  117. data/doc/SteamCondenser/GameLeaderboard.html +1562 -0
  118. data/doc/SteamCondenser/GameLeaderboardEntry.html +604 -0
  119. data/doc/SteamCondenser/GameServer.html +2337 -0
  120. data/doc/SteamCondenser/GameStats.html +1416 -0
  121. data/doc/SteamCondenser/GameWeapon.html +566 -0
  122. data/doc/SteamCondenser/GoldSrcServer.html +716 -0
  123. data/doc/SteamCondenser/GoldSrcSocket.html +831 -0
  124. data/doc/SteamCondenser/L4D2Map.html +713 -0
  125. data/doc/SteamCondenser/L4D2Stats.html +906 -0
  126. data/doc/SteamCondenser/L4D2Weapon.html +466 -0
  127. data/doc/SteamCondenser/L4DExplosive.html +362 -0
  128. data/doc/SteamCondenser/L4DMap.html +746 -0
  129. data/doc/SteamCondenser/L4DStats.html +513 -0
  130. data/doc/SteamCondenser/L4DWeapon.html +284 -0
  131. data/doc/SteamCondenser/M2A_SERVER_BATCH_Packet.html +415 -0
  132. data/doc/SteamCondenser/M2C_ISVALIDMD5_Packet.html +368 -0
  133. data/doc/SteamCondenser/M2S_REQUESTRESTART_Packet.html +367 -0
  134. data/doc/SteamCondenser/MasterServer.html +1046 -0
  135. data/doc/SteamCondenser/MasterServerSocket.html +282 -0
  136. data/doc/SteamCondenser/Portal2Inventory.html +217 -0
  137. data/doc/SteamCondenser/Portal2Item.html +483 -0
  138. data/doc/SteamCondenser/Portal2Stats.html +353 -0
  139. data/doc/SteamCondenser/RCONAuthRequest.html +306 -0
  140. data/doc/SteamCondenser/RCONAuthResponse.html +293 -0
  141. data/doc/SteamCondenser/RCONExecRequest.html +306 -0
  142. data/doc/SteamCondenser/RCONExecResponse.html +392 -0
  143. data/doc/SteamCondenser/RCONGoldSrcRequest.html +349 -0
  144. data/doc/SteamCondenser/RCONGoldSrcResponse.html +354 -0
  145. data/doc/SteamCondenser/RCONPacket.html +530 -0
  146. data/doc/SteamCondenser/RCONPacketFactory.html +293 -0
  147. data/doc/SteamCondenser/RCONSocket.html +649 -0
  148. data/doc/SteamCondenser/RCONTerminator.html +292 -0
  149. data/doc/SteamCondenser/RequestWithChallenge.html +223 -0
  150. data/doc/SteamCondenser/S2A_INFO2_Packet.html +359 -0
  151. data/doc/SteamCondenser/S2A_INFO_BasePacket.html +342 -0
  152. data/doc/SteamCondenser/S2A_INFO_DETAILED_Packet.html +358 -0
  153. data/doc/SteamCondenser/S2A_LOGSTRING_Packet.html +358 -0
  154. data/doc/SteamCondenser/S2A_PLAYER_Packet.html +402 -0
  155. data/doc/SteamCondenser/S2A_RULES_Packet.html +396 -0
  156. data/doc/SteamCondenser/S2C_CHALLENGE_Packet.html +356 -0
  157. data/doc/SteamCondenser/S2M_HEARTBEAT2_Packet.html +430 -0
  158. data/doc/SteamCondenser/Server.html +754 -0
  159. data/doc/SteamCondenser/Servers.html +133 -0
  160. data/doc/SteamCondenser/SourceServer.html +752 -0
  161. data/doc/SteamCondenser/SourceSocket.html +355 -0
  162. data/doc/SteamCondenser/SteamGame.html +1802 -0
  163. data/doc/SteamCondenser/SteamGroup.html +969 -0
  164. data/doc/SteamCondenser/SteamId.html +4242 -0
  165. data/doc/SteamCondenser/SteamPacket.html +456 -0
  166. data/doc/SteamCondenser/SteamPacketFactory.html +521 -0
  167. data/doc/SteamCondenser/SteamPlayer.html +1696 -0
  168. data/doc/SteamCondenser/SteamSocket.html +679 -0
  169. data/doc/SteamCondenser/TF2BetaInventory.html +198 -0
  170. data/doc/SteamCondenser/TF2Class.html +1145 -0
  171. data/doc/SteamCondenser/TF2ClassFactory.html +263 -0
  172. data/doc/SteamCondenser/TF2Engineer.html +534 -0
  173. data/doc/SteamCondenser/TF2GoldenWrench.html +731 -0
  174. data/doc/SteamCondenser/TF2Inventory.html +217 -0
  175. data/doc/SteamCondenser/TF2Item.html +482 -0
  176. data/doc/SteamCondenser/TF2Medic.html +445 -0
  177. data/doc/SteamCondenser/TF2Sniper.html +357 -0
  178. data/doc/SteamCondenser/TF2Spy.html +531 -0
  179. data/doc/SteamCondenser/TF2Stats.html +670 -0
  180. data/doc/SteamCondenser/TimeoutError.html +249 -0
  181. data/doc/SteamCondenser/WebApi.html +999 -0
  182. data/doc/SteamCondenser/XMLData.html +171 -0
  183. data/doc/SteamCondenserError.html +153 -0
  184. data/doc/SteamGame.html +1859 -0
  185. data/doc/SteamGroup.html +1012 -0
  186. data/doc/SteamId.html +4369 -0
  187. data/doc/SteamPacket.html +469 -0
  188. data/doc/SteamPacketFactory.html +545 -0
  189. data/doc/SteamPlayer.html +1766 -0
  190. data/doc/SteamSocket.html +699 -0
  191. data/doc/StringIO.html +947 -0
  192. data/doc/TF2BetaInventory.html +315 -0
  193. data/doc/TF2Class.html +1194 -0
  194. data/doc/TF2ClassFactory.html +273 -0
  195. data/doc/TF2Engineer.html +558 -0
  196. data/doc/TF2GoldenWrench.html +760 -0
  197. data/doc/TF2Inventory.html +339 -0
  198. data/doc/TF2Item.html +499 -0
  199. data/doc/TF2Medic.html +465 -0
  200. data/doc/TF2Sniper.html +373 -0
  201. data/doc/TF2Spy.html +555 -0
  202. data/doc/TF2Stats.html +696 -0
  203. data/doc/WebApi.html +1021 -0
  204. data/doc/WebApiError.html +347 -0
  205. data/doc/XMLData.html +253 -0
  206. data/doc/_index.html +717 -0
  207. data/doc/class_list.html +53 -0
  208. data/doc/css/common.css +1 -0
  209. data/doc/css/full_list.css +57 -0
  210. data/doc/css/style.css +328 -0
  211. data/doc/file.LICENSE.html +100 -0
  212. data/doc/file.README.html +136 -0
  213. data/doc/file_list.html +58 -0
  214. data/doc/frames.html +28 -0
  215. data/doc/index.html +136 -0
  216. data/doc/js/app.js +214 -0
  217. data/doc/js/full_list.js +173 -0
  218. data/doc/js/jquery.js +4 -0
  219. data/doc/method_list.html +3988 -0
  220. data/doc/methods_list.html +3900 -0
  221. data/doc/top-level-namespace.html +114 -0
  222. data/lib/steam-condenser/version.rb +1 -1
  223. data/lib/steam/community/cacheable.rb +105 -44
  224. data/lib/steam/community/dota2/dota2_beta_inventory.rb +27 -0
  225. data/lib/steam/community/dota2/dota2_inventory.rb +27 -0
  226. data/lib/steam/community/dota2/dota2_item.rb +33 -0
  227. data/lib/steam/community/game_inventory.rb +18 -16
  228. data/lib/steam/community/game_leaderboard.rb +2 -2
  229. data/lib/steam/community/game_stats.rb +1 -1
  230. data/lib/steam/community/portal2/portal2_inventory.rb +11 -9
  231. data/lib/steam/community/steam_game.rb +0 -2
  232. data/lib/steam/community/steam_group.rb +2 -7
  233. data/lib/steam/community/steam_id.rb +2 -7
  234. data/lib/steam/community/tf2/tf2_beta_inventory.rb +11 -8
  235. data/lib/steam/community/tf2/tf2_inventory.rb +11 -9
  236. data/lib/steam/community/xml_data.rb +8 -1
  237. data/lib/steam/packets/a2s_player_packet.rb +1 -1
  238. data/lib/steam/packets/a2s_rules_packet.rb +1 -1
  239. data/lib/steam/servers/master_server.rb +3 -2
  240. data/lib/steam/sockets/rcon_socket.rb +1 -2
  241. data/pkg/steam-condenser-1.2.0.gem +0 -0
  242. data/pkg/steam-condenser-1.2.0/Gemfile +3 -0
  243. data/pkg/steam-condenser-1.2.0/Gemfile.lock +30 -0
  244. data/pkg/steam-condenser-1.2.0/LICENSE +25 -0
  245. data/pkg/steam-condenser-1.2.0/README.md +47 -0
  246. data/pkg/steam-condenser-1.2.0/Rakefile +46 -0
  247. data/pkg/steam-condenser-1.2.0/lib/core_ext/stringio.rb +91 -0
  248. data/pkg/steam-condenser-1.2.0/lib/errors/packet_format_error.rb +21 -0
  249. data/pkg/steam-condenser-1.2.0/lib/errors/rcon_ban_error.rb +22 -0
  250. data/pkg/steam-condenser-1.2.0/lib/errors/rcon_no_auth_error.rb +21 -0
  251. data/pkg/steam-condenser-1.2.0/lib/errors/steam_condenser_error.rb +11 -0
  252. data/pkg/steam-condenser-1.2.0/lib/errors/timeout_error.rb +28 -0
  253. data/pkg/steam-condenser-1.2.0/lib/errors/web_api_error.rb +57 -0
  254. data/pkg/steam-condenser-1.2.0/lib/steam-condenser.rb +18 -0
  255. data/pkg/steam-condenser-1.2.0/lib/steam-condenser/community.rb +24 -0
  256. data/pkg/steam-condenser-1.2.0/lib/steam-condenser/servers.rb +24 -0
  257. data/pkg/steam-condenser-1.2.0/lib/steam-condenser/version.rb +11 -0
  258. data/pkg/steam-condenser-1.2.0/lib/steam/community/alien_swarm/alien_swarm_mission.rb +119 -0
  259. data/pkg/steam-condenser-1.2.0/lib/steam/community/alien_swarm/alien_swarm_stats.rb +179 -0
  260. data/pkg/steam-condenser-1.2.0/lib/steam/community/alien_swarm/alien_swarm_weapon.rb +49 -0
  261. data/pkg/steam-condenser-1.2.0/lib/steam/community/app_news.rb +133 -0
  262. data/pkg/steam-condenser-1.2.0/lib/steam/community/cacheable.rb +137 -0
  263. data/pkg/steam-condenser-1.2.0/lib/steam/community/css/css_map.rb +61 -0
  264. data/pkg/steam-condenser-1.2.0/lib/steam/community/css/css_stats.rb +136 -0
  265. data/pkg/steam-condenser-1.2.0/lib/steam/community/css/css_weapon.rb +69 -0
  266. data/pkg/steam-condenser-1.2.0/lib/steam/community/defense_grid/defense_grid_stats.rb +237 -0
  267. data/pkg/steam-condenser-1.2.0/lib/steam/community/dods/dods_class.rb +90 -0
  268. data/pkg/steam-condenser-1.2.0/lib/steam/community/dods/dods_stats.rb +61 -0
  269. data/pkg/steam-condenser-1.2.0/lib/steam/community/dods/dods_weapon.rb +67 -0
  270. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_achievement.rb +109 -0
  271. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_class.rb +22 -0
  272. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_inventory.rb +152 -0
  273. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_item.rb +99 -0
  274. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_leaderboard.rb +201 -0
  275. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_leaderboard_entry.rb +43 -0
  276. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_stats.rb +175 -0
  277. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_weapon.rb +41 -0
  278. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/abstract_l4d_stats.rb +173 -0
  279. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/abstract_l4d_weapon.rb +56 -0
  280. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d2_map.rb +90 -0
  281. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d2_stats.rb +165 -0
  282. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d2_weapon.rb +38 -0
  283. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d_explosive.rb +34 -0
  284. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d_map.rb +65 -0
  285. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d_stats.rb +71 -0
  286. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d_weapon.rb +26 -0
  287. data/pkg/steam-condenser-1.2.0/lib/steam/community/portal2/portal2_inventory.rb +25 -0
  288. data/pkg/steam-condenser-1.2.0/lib/steam/community/portal2/portal2_item.rb +47 -0
  289. data/pkg/steam-condenser-1.2.0/lib/steam/community/portal2/portal2_stats.rb +32 -0
  290. data/pkg/steam-condenser-1.2.0/lib/steam/community/steam_game.rb +182 -0
  291. data/pkg/steam-condenser-1.2.0/lib/steam/community/steam_group.rb +135 -0
  292. data/pkg/steam-condenser-1.2.0/lib/steam/community/steam_id.rb +513 -0
  293. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_beta_inventory.rb +22 -0
  294. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_class.rb +92 -0
  295. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_class_factory.rb +40 -0
  296. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_engineer.rb +43 -0
  297. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_golden_wrench.rb +70 -0
  298. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_inventory.rb +25 -0
  299. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_item.rb +47 -0
  300. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_medic.rb +35 -0
  301. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_sniper.rb +28 -0
  302. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_spy.rb +41 -0
  303. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_stats.rb +76 -0
  304. data/pkg/steam-condenser-1.2.0/lib/steam/community/web_api.rb +129 -0
  305. data/pkg/steam-condenser-1.2.0/lib/steam/community/xml_data.rb +17 -0
  306. data/pkg/steam-condenser-1.2.0/lib/steam/packets/a2m_get_servers_batch2_packet.rb +59 -0
  307. data/pkg/steam-condenser-1.2.0/lib/steam/packets/a2s_info_packet.rb +24 -0
  308. data/pkg/steam-condenser-1.2.0/lib/steam/packets/a2s_player_packet.rb +31 -0
  309. data/pkg/steam-condenser-1.2.0/lib/steam/packets/a2s_rules_packet.rb +32 -0
  310. data/pkg/steam-condenser-1.2.0/lib/steam/packets/a2s_serverquery_getchallenge_packet.rb +25 -0
  311. data/pkg/steam-condenser-1.2.0/lib/steam/packets/c2m_checkmd5_packet.rb +30 -0
  312. data/pkg/steam-condenser-1.2.0/lib/steam/packets/m2a_server_batch_packet.rb +52 -0
  313. data/pkg/steam-condenser-1.2.0/lib/steam/packets/m2c_isvalidmd5_packet.rb +34 -0
  314. data/pkg/steam-condenser-1.2.0/lib/steam/packets/m2s_requestrestart_packet.rb +34 -0
  315. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_auth_request.rb +28 -0
  316. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_auth_response.rb +30 -0
  317. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_exec_request.rb +28 -0
  318. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_exec_response.rb +37 -0
  319. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_goldsrc_request.rb +35 -0
  320. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_goldsrc_response.rb +34 -0
  321. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_packet.rb +57 -0
  322. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_packet_factory.rb +43 -0
  323. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_terminator.rb +29 -0
  324. data/pkg/steam-condenser-1.2.0/lib/steam/packets/request_with_challenge.rb +19 -0
  325. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_info2_packet.rb +62 -0
  326. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_info_base_packet.rb +35 -0
  327. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_info_detailed_packet.rb +61 -0
  328. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_logstring_packet.rb +30 -0
  329. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_player_packet.rb +44 -0
  330. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_rules_packet.rb +48 -0
  331. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2c_challenge_packet.rb +35 -0
  332. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2m_heartbeat2_packet.rb +71 -0
  333. data/pkg/steam-condenser-1.2.0/lib/steam/packets/steam_packet.rb +52 -0
  334. data/pkg/steam-condenser-1.2.0/lib/steam/packets/steam_packet_factory.rb +108 -0
  335. data/pkg/steam-condenser-1.2.0/lib/steam/servers/game_server.rb +392 -0
  336. data/pkg/steam-condenser-1.2.0/lib/steam/servers/goldsrc_server.rb +74 -0
  337. data/pkg/steam-condenser-1.2.0/lib/steam/servers/master_server.rb +182 -0
  338. data/pkg/steam-condenser-1.2.0/lib/steam/servers/server.rb +104 -0
  339. data/pkg/steam-condenser-1.2.0/lib/steam/servers/source_server.rb +98 -0
  340. data/pkg/steam-condenser-1.2.0/lib/steam/sockets/goldsrc_socket.rb +142 -0
  341. data/pkg/steam-condenser-1.2.0/lib/steam/sockets/master_server_socket.rb +30 -0
  342. data/pkg/steam-condenser-1.2.0/lib/steam/sockets/rcon_socket.rb +94 -0
  343. data/pkg/steam-condenser-1.2.0/lib/steam/sockets/source_socket.rb +78 -0
  344. data/pkg/steam-condenser-1.2.0/lib/steam/sockets/steam_socket.rb +86 -0
  345. data/pkg/steam-condenser-1.2.0/lib/steam/steam_player.rb +143 -0
  346. data/pkg/steam-condenser-1.2.0/steam-condenser.gemspec +25 -0
  347. data/pkg/steam-condenser-1.2.0/test/core_ext/test_stringio.rb +59 -0
  348. data/pkg/steam-condenser-1.2.0/test/fixtures/invalid.xml +2 -0
  349. data/pkg/steam-condenser-1.2.0/test/fixtures/sonofthor.xml +882 -0
  350. data/pkg/steam-condenser-1.2.0/test/fixtures/status_goldsrc +3 -0
  351. data/pkg/steam-condenser-1.2.0/test/fixtures/status_source +3 -0
  352. data/pkg/steam-condenser-1.2.0/test/fixtures/valve-members.xml +231 -0
  353. data/pkg/steam-condenser-1.2.0/test/helper.rb +45 -0
  354. data/pkg/steam-condenser-1.2.0/test/steam/communtiy/test_steam_group.rb +83 -0
  355. data/pkg/steam-condenser-1.2.0/test/steam/communtiy/test_steam_id.rb +111 -0
  356. data/pkg/steam-condenser-1.2.0/test/steam/communtiy/test_web_api.rb +98 -0
  357. data/pkg/steam-condenser-1.2.0/test/steam/packets/test_steam_packet.rb +37 -0
  358. data/pkg/steam-condenser-1.2.0/test/steam/servers/test_game_server.rb +296 -0
  359. data/pkg/steam-condenser-1.2.0/test/steam/servers/test_goldsrc_server.rb +59 -0
  360. data/pkg/steam-condenser-1.2.0/test/steam/servers/test_master_server.rb +131 -0
  361. data/pkg/steam-condenser-1.2.0/test/steam/servers/test_server.rb +72 -0
  362. data/pkg/steam-condenser-1.2.0/test/steam/servers/test_source_server.rb +126 -0
  363. data/pkg/steam-condenser-1.2.0/test/steam/sockets/test_goldsrc_socket.rb +127 -0
  364. data/pkg/steam-condenser-1.2.0/test/steam/sockets/test_master_server_socket.rb +42 -0
  365. data/pkg/steam-condenser-1.2.0/test/steam/sockets/test_rcon_socket.rb +109 -0
  366. data/pkg/steam-condenser-1.2.0/test/steam/sockets/test_source_socket.rb +77 -0
  367. data/pkg/steam-condenser-1.2.0/test/steam/sockets/test_steam_socket.rb +97 -0
  368. data/steam-condenser.gemspec +3 -3
  369. data/test/steam/communtiy/test_cacheable.rb +100 -0
  370. data/test/steam/servers/test_master_server.rb +3 -3
  371. metadata +366 -15
@@ -0,0 +1,171 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Module: SteamCondenser::XMLData
8
+
9
+ &mdash; Steam Condenser – Ruby API
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '..';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="../_index.html">Index (X)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../SteamCondenser.html" title="SteamCondenser (module)">SteamCondenser</a></span></span>
38
+ &raquo;
39
+ <span class="title">XMLData</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Module: SteamCondenser::XMLData
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+ <dt class="r1">Included in:</dt>
74
+ <dd class="r1"><span class='object_link'><a href="GameStats.html" title="SteamCondenser::GameStats (class)">GameStats</a></span>, <span class='object_link'><a href="SteamGroup.html" title="SteamCondenser::SteamGroup (class)">SteamGroup</a></span>, <span class='object_link'><a href="SteamId.html" title="SteamCondenser::SteamId (class)">SteamId</a></span></dd>
75
+
76
+
77
+
78
+ <dt class="r2 last">Defined in:</dt>
79
+ <dd class="r2 last">lib/steam/community/xml_data.rb</dd>
80
+
81
+ </dl>
82
+ <div class="clear"></div>
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+ <h2>
93
+ Instance Method Summary
94
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
95
+ </h2>
96
+
97
+ <ul class="summary">
98
+
99
+ <li class="public ">
100
+ <span class="summary_signature">
101
+
102
+ <a href="#parse-instance_method" title="#parse (instance method)">- (Object) <strong>parse</strong>(url) </a>
103
+
104
+
105
+
106
+ </span>
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ <span class="summary_desc"><div class='inline'></div></span>
116
+
117
+ </li>
118
+
119
+
120
+ </ul>
121
+
122
+
123
+
124
+
125
+ <div id="instance_method_details" class="method_details_list">
126
+ <h2>Instance Method Details</h2>
127
+
128
+
129
+ <div class="method_details first">
130
+ <p class="signature first" id="parse-instance_method">
131
+
132
+ - (<tt>Object</tt>) <strong>parse</strong>(url)
133
+
134
+
135
+
136
+ </p><table class="source_code">
137
+ <tr>
138
+ <td>
139
+ <pre class="lines">
140
+
141
+
142
+ 13
143
+ 14
144
+ 15
145
+ 16</pre>
146
+ </td>
147
+ <td>
148
+ <pre class="code"><span class="info file"># File 'lib/steam/community/xml_data.rb', line 13</span>
149
+
150
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_parse identifier id'>parse</span><span class='lparen token'>(</span><span class='rubyid_url identifier id'>url</span><span class='rparen token'>)</span>
151
+ <span class='rubyid_data identifier id'>data</span> <span class='assign token'>=</span> <span class='rubyid_open identifier id'>open</span><span class='lparen token'>(</span><span class='rubyid_url identifier id'>url</span><span class='comma token'>,</span> <span class='lbrace token'>{</span> <span class='symbol val'>:proxy</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='rubyid_true true kw'>true</span> <span class='rbrace token'>}</span><span class='rparen token'>)</span>
152
+ <span class='rubyid_@xml_data ivar id'>@xml_data</span> <span class='assign token'>=</span> <span class='rubyid_MultiXml constant id'>MultiXml</span><span class='dot token'>.</span><span class='rubyid_parse identifier id'>parse</span><span class='lparen token'>(</span><span class='rubyid_data identifier id'>data</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='rubyid_values identifier id'>values</span><span class='dot token'>.</span><span class='rubyid_first identifier id'>first</span>
153
+ <span class='rubyid_end end kw'>end</span>
154
+ </pre>
155
+ </td>
156
+ </tr>
157
+ </table>
158
+ </div>
159
+
160
+ </div>
161
+
162
+ </div>
163
+
164
+ <div id="footer">
165
+ Generated on Mon Apr 30 07:03:03 2012 by
166
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
167
+ 0.7.5 (ruby-1.8.7).
168
+ </div>
169
+
170
+ </body>
171
+ </html>
@@ -0,0 +1,153 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Exception: SteamCondenserError
8
+
9
+ &mdash; Steam Condenser – Ruby API
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '';
20
+ framesUrl = "frames.html#!" + escape(window.location.href);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="_index.html">Index (S)</a> &raquo;
35
+
36
+
37
+ <span class="title">SteamCondenserError</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Exception: SteamCondenserError
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName">StandardError</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">StandardError</li>
82
+
83
+ <li class="next">SteamCondenserError</li>
84
+
85
+ </ul>
86
+ <a href="#" class="inheritanceTree">show all</a>
87
+
88
+ </dd>
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+ <dt class="r2 last">Defined in:</dt>
99
+ <dd class="r2 last">lib/errors/steam_condenser_error.rb</dd>
100
+
101
+ </dl>
102
+ <div class="clear"></div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+ <p>This error class is used as a base class for all errors related to Steam
107
+ Condenser&#39;s operation</p>
108
+
109
+
110
+ </div>
111
+ </div>
112
+ <div class="tags">
113
+
114
+ <p class="tag_title">Author:</p>
115
+ <ul class="author">
116
+
117
+ <li>
118
+
119
+
120
+
121
+
122
+
123
+ <div class='inline'><p>Sebastian Staudt</p>
124
+ </div>
125
+
126
+ </li>
127
+
128
+ </ul>
129
+
130
+ </div><div id="subclasses">
131
+ <h2>Direct Known Subclasses</h2>
132
+ <p class="children"><span class='object_link'><a href="PacketFormatError.html" title="PacketFormatError (class)">PacketFormatError</a></span>, <span class='object_link'><a href="RCONBanError.html" title="RCONBanError (class)">RCONBanError</a></span>, <span class='object_link'><a href="RCONNoAuthError.html" title="RCONNoAuthError (class)">RCONNoAuthError</a></span>, <span class='object_link'><a href="SteamCondenser/TimeoutError.html" title="SteamCondenser::TimeoutError (class)">SteamCondenser::TimeoutError</a></span>, <span class='object_link'><a href="WebApiError.html" title="WebApiError (class)">WebApiError</a></span></p>
133
+ </div>
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+ </div>
145
+
146
+ <div id="footer">
147
+ Generated on Sat Jul 21 13:09:40 2012 by
148
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
149
+ 0.8.2.1 (ruby-1.8.7).
150
+ </div>
151
+
152
+ </body>
153
+ </html>
@@ -0,0 +1,1859 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: SteamGame
8
+
9
+ &mdash; Steam Condenser – Ruby API
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '';
20
+ framesUrl = "frames.html#!" + escape(window.location.href);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="_index.html">Index (S)</a> &raquo;
35
+
36
+
37
+ <span class="title">SteamGame</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: SteamGame
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName">Object</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">SteamGame</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+
88
+
89
+
90
+
91
+
92
+
93
+ <dt class="r2">Includes:</dt>
94
+ <dd class="r2"><span class='object_link'><a href="Cacheable.html" title="Cacheable (module)">Cacheable</a></span></dd>
95
+
96
+
97
+
98
+
99
+
100
+ <dt class="r1 last">Defined in:</dt>
101
+ <dd class="r1 last">lib/steam/community/steam_game.rb</dd>
102
+
103
+ </dl>
104
+ <div class="clear"></div>
105
+
106
+ <h2>Overview</h2><div class="docstring">
107
+ <div class="discussion">
108
+ <p>This class represents a game available on Steam</p>
109
+
110
+
111
+ </div>
112
+ </div>
113
+ <div class="tags">
114
+
115
+ <p class="tag_title">Author:</p>
116
+ <ul class="author">
117
+
118
+ <li>
119
+
120
+
121
+
122
+
123
+
124
+ <div class='inline'><p>Sebastian Staudt</p>
125
+ </div>
126
+
127
+ </li>
128
+
129
+ </ul>
130
+
131
+ </div>
132
+
133
+
134
+
135
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
136
+ <ul class="summary">
137
+
138
+ <li class="public ">
139
+ <span class="summary_signature">
140
+
141
+ <a href="#app_id-instance_method" title="#app_id (instance method)">- (Fixnum) <strong>app_id</strong> </a>
142
+
143
+
144
+
145
+ </span>
146
+
147
+
148
+
149
+
150
+ <span class="note title readonly">readonly</span>
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+ <span class="summary_desc"><div class='inline'><p>Returns the Steam application ID of this game.</p>
161
+ </div></span>
162
+
163
+ </li>
164
+
165
+
166
+ <li class="public ">
167
+ <span class="summary_signature">
168
+
169
+ <a href="#icon_url-instance_method" title="#icon_url (instance method)">- (String) <strong>icon_url</strong> </a>
170
+
171
+
172
+
173
+ </span>
174
+
175
+
176
+
177
+
178
+ <span class="note title readonly">readonly</span>
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+ <span class="summary_desc"><div class='inline'><p>Returns the URL for the icon image of this game.</p>
189
+ </div></span>
190
+
191
+ </li>
192
+
193
+
194
+ <li class="public ">
195
+ <span class="summary_signature">
196
+
197
+ <a href="#name-instance_method" title="#name (instance method)">- (String) <strong>name</strong> </a>
198
+
199
+
200
+
201
+ </span>
202
+
203
+
204
+
205
+
206
+ <span class="note title readonly">readonly</span>
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+ <span class="summary_desc"><div class='inline'><p>Returns the full name of this game.</p>
217
+ </div></span>
218
+
219
+ </li>
220
+
221
+
222
+ <li class="public ">
223
+ <span class="summary_signature">
224
+
225
+ <a href="#short_name-instance_method" title="#short_name (instance method)">- (String) <strong>short_name</strong> </a>
226
+
227
+
228
+
229
+ </span>
230
+
231
+
232
+
233
+
234
+ <span class="note title readonly">readonly</span>
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+ <span class="summary_desc"><div class='inline'><p>Returns the short name of this game (also known as &quot;friendly name&quot;).</p>
245
+ </div></span>
246
+
247
+ </li>
248
+
249
+
250
+ </ul>
251
+
252
+
253
+
254
+
255
+
256
+ <h3 class="inherited">Attributes included from <span class='object_link'><a href="Cacheable.html" title="Cacheable (module)">Cacheable</a></span></h3>
257
+ <p class="inherited"><span class='object_link'><a href="Cacheable.html#fetch_time-instance_method" title="Cacheable#fetch_time (method)">#fetch_time</a></span></p>
258
+
259
+
260
+
261
+ <h2>
262
+ Class Method Summary
263
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
264
+ </h2>
265
+
266
+ <ul class="summary">
267
+
268
+ <li class="public ">
269
+ <span class="summary_signature">
270
+
271
+ <a href="#check_steam_inf-class_method" title="check_steam_inf (class method)">+ (Boolean) <strong>check_steam_inf</strong>(path) </a>
272
+
273
+
274
+
275
+ </span>
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+ <span class="summary_desc"><div class='inline'><p>Checks if a game is up-to-date by reading information from a <code>steam.inf</code>
286
+ file and comparing it using the Web API.</p>
287
+ </div></span>
288
+
289
+ </li>
290
+
291
+
292
+ <li class="public ">
293
+ <span class="summary_signature">
294
+
295
+ <a href="#new-class_method" title="new (class method)">+ (Object) <strong>new</strong>(app_id, game_data = nil) </a>
296
+
297
+
298
+
299
+ </span>
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+ <span class="summary_desc"><div class='inline'><p>Creates a new instance of a game with the given data and caches it.</p>
310
+ </div></span>
311
+
312
+ </li>
313
+
314
+
315
+ <li class="public ">
316
+ <span class="summary_signature">
317
+
318
+ <a href="#uptodate%3F-class_method" title="uptodate? (class method)">+ (Boolean) <strong>uptodate?</strong>(app_id, version) </a>
319
+
320
+
321
+
322
+ </span>
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+ <span class="summary_desc"><div class='inline'><p>Returns whether the given version of the game with the given application ID
333
+ is up-to-date.</p>
334
+ </div></span>
335
+
336
+ </li>
337
+
338
+
339
+ </ul>
340
+
341
+ <h2>
342
+ Instance Method Summary
343
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
344
+ </h2>
345
+
346
+ <ul class="summary">
347
+
348
+ <li class="public ">
349
+ <span class="summary_signature">
350
+
351
+ <a href="#has_stats%3F-instance_method" title="#has_stats? (instance method)">- (Boolean) <strong>has_stats?</strong> </a>
352
+
353
+
354
+
355
+ </span>
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+ <span class="summary_desc"><div class='inline'><p>Returns whether this game has statistics available.</p>
366
+ </div></span>
367
+
368
+ </li>
369
+
370
+
371
+ <li class="public ">
372
+ <span class="summary_signature">
373
+
374
+ <a href="#id-instance_method" title="#id (instance method)">- (Fixnum, String) <strong>id</strong> </a>
375
+
376
+
377
+
378
+ </span>
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+ <span class="summary_desc"><div class='inline'><p>Returns a unique identifier for this game.</p>
389
+ </div></span>
390
+
391
+ </li>
392
+
393
+
394
+ <li class="private ">
395
+ <span class="summary_signature">
396
+
397
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (SteamGame) <strong>initialize</strong>(app_id, game_data) </a>
398
+
399
+
400
+
401
+ </span>
402
+
403
+
404
+ <span class="note title constructor">constructor</span>
405
+
406
+
407
+ <span class="note title private">private</span>
408
+
409
+
410
+
411
+
412
+
413
+ <span class="summary_desc"><div class='inline'><p>Creates a new instance of a game with the given data and caches it.</p>
414
+ </div></span>
415
+
416
+ </li>
417
+
418
+
419
+ <li class="public ">
420
+ <span class="summary_signature">
421
+
422
+ <a href="#leaderboard-instance_method" title="#leaderboard (instance method)">- (GameLeaderboard) <strong>leaderboard</strong>(id) </a>
423
+
424
+
425
+
426
+ </span>
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+ <span class="summary_desc"><div class='inline'><p>Returns the leaderboard for this game and the given leaderboard ID or name.</p>
437
+ </div></span>
438
+
439
+ </li>
440
+
441
+
442
+ <li class="public ">
443
+ <span class="summary_signature">
444
+
445
+ <a href="#leaderboards-instance_method" title="#leaderboards (instance method)">- (Array&lt;GameLeaderboard&gt;) <strong>leaderboards</strong> </a>
446
+
447
+
448
+
449
+ </span>
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+ <span class="summary_desc"><div class='inline'><p>Returns an array containing all of this game&#39;s leaderboards.</p>
460
+ </div></span>
461
+
462
+ </li>
463
+
464
+
465
+ <li class="public ">
466
+ <span class="summary_signature">
467
+
468
+ <a href="#logo_thumbnail_url-instance_method" title="#logo_thumbnail_url (instance method)">- (String) <strong>logo_thumbnail_url</strong> </a>
469
+
470
+
471
+
472
+ </span>
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+ <span class="summary_desc"><div class='inline'><p>Returns the URL for the logo thumbnail image of this game.</p>
483
+ </div></span>
484
+
485
+ </li>
486
+
487
+
488
+ <li class="public ">
489
+ <span class="summary_signature">
490
+
491
+ <a href="#logo_url-instance_method" title="#logo_url (instance method)">- (String) <strong>logo_url</strong> </a>
492
+
493
+
494
+
495
+ </span>
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+ <span class="summary_desc"><div class='inline'><p>Returns the URL for the logo image of this game.</p>
506
+ </div></span>
507
+
508
+ </li>
509
+
510
+
511
+ <li class="public ">
512
+ <span class="summary_signature">
513
+
514
+ <a href="#store_url-instance_method" title="#store_url (instance method)">- (String) <strong>store_url</strong> </a>
515
+
516
+
517
+
518
+ </span>
519
+
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+
528
+ <span class="summary_desc"><div class='inline'><p>Returns the URL of this game&#39;s page in the Steam Store.</p>
529
+ </div></span>
530
+
531
+ </li>
532
+
533
+
534
+ <li class="public ">
535
+ <span class="summary_signature">
536
+
537
+ <a href="#uptodate%3F-instance_method" title="#uptodate? (instance method)">- (Boolean) <strong>uptodate?</strong>(version) </a>
538
+
539
+
540
+
541
+ </span>
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+ <span class="summary_desc"><div class='inline'><p>Returns whether the given version of this game is up-to-date.</p>
552
+ </div></span>
553
+
554
+ </li>
555
+
556
+
557
+ <li class="public ">
558
+ <span class="summary_signature">
559
+
560
+ <a href="#user_stats-instance_method" title="#user_stats (instance method)">- (GameStats) <strong>user_stats</strong>(steam_id) </a>
561
+
562
+
563
+
564
+ </span>
565
+
566
+
567
+
568
+
569
+
570
+
571
+
572
+
573
+
574
+ <span class="summary_desc"><div class='inline'><p>Creates a stats object for the given user and this game.</p>
575
+ </div></span>
576
+
577
+ </li>
578
+
579
+
580
+ </ul>
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+
592
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="Cacheable.html" title="Cacheable (module)">Cacheable</a></span></h3>
593
+ <p class="inherited"><span class='object_link'><a href="Cacheable.html#cache-instance_method" title="Cacheable#cache (method)">#cache</a></span>, <span class='object_link'><a href="Cacheable.html#cache_id_value-instance_method" title="Cacheable#cache_id_value (method)">#cache_id_value</a></span>, <span class='object_link'><a href="Cacheable.html#cache_ids-instance_method" title="Cacheable#cache_ids (method)">#cache_ids</a></span>, <span class='object_link'><a href="Cacheable.html#cached_instance-instance_method" title="Cacheable#cached_instance (method)">#cached_instance</a></span>, <span class='object_link'><a href="Cacheable.html#fetch-instance_method" title="Cacheable#fetch (method)">#fetch</a></span>, <span class='object_link'><a href="Cacheable.html#fetched%3F-instance_method" title="Cacheable#fetched? (method)">#fetched?</a></span>, <span class='object_link'><a href="Cacheable.html#included-class_method" title="Cacheable.included (method)">included</a></span></p>
594
+ <div id="constructor_details" class="method_details_list">
595
+ <h2>Constructor Details</h2>
596
+
597
+ <div class="method_details first">
598
+ <h3 class="signature first" id="initialize-instance_method">
599
+
600
+ - (<tt><span class='object_link'><a href="" title="SteamGame (class)">SteamGame</a></span></tt>) <strong>initialize</strong>(app_id, game_data) <span class="extras">(private)</span>
601
+
602
+
603
+
604
+
605
+
606
+ </h3><div class="docstring">
607
+ <div class="discussion">
608
+
609
+ <div class="note notetag">
610
+ <strong>Note:</strong>
611
+ <div class='inline'><p>The real constructor of <code>SteamGame</code> is <span class='object_link'><a href="#new-class_method" title="SteamGame.new (method)">new</a></span></p>
612
+ </div>
613
+ </div>
614
+
615
+ <p>Creates a new instance of a game with the given data and caches it</p>
616
+
617
+
618
+ </div>
619
+ </div>
620
+ <div class="tags">
621
+ <p class="tag_title">Parameters:</p>
622
+ <ul class="param">
623
+
624
+ <li>
625
+
626
+ <span class='name'>app_id</span>
627
+
628
+
629
+ <span class='type'>(<tt>Fixnum</tt>)</span>
630
+
631
+
632
+
633
+ &mdash;
634
+ <div class='inline'><p>The application ID of the game</p>
635
+ </div>
636
+
637
+ </li>
638
+
639
+ <li>
640
+
641
+ <span class='name'>game_data</span>
642
+
643
+
644
+ <span class='type'>(<tt>Hash&lt;String, Object&gt;</tt>)</span>
645
+
646
+
647
+
648
+ &mdash;
649
+ <div class='inline'><p>The XML data of the game</p>
650
+ </div>
651
+
652
+ </li>
653
+
654
+ </ul>
655
+
656
+
657
+ </div><table class="source_code">
658
+ <tr>
659
+ <td>
660
+ <pre class="lines">
661
+
662
+
663
+ 161
664
+ 162
665
+ 163
666
+ 164
667
+ 165
668
+ 166
669
+ 167
670
+ 168
671
+ 169
672
+ 170
673
+ 171
674
+ 172
675
+ 173
676
+ 174
677
+ 175
678
+ 176
679
+ 177
680
+ 178</pre>
681
+ </td>
682
+ <td>
683
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 161</span>
684
+
685
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='rubyid_app_id identifier id'>app_id</span><span class='comma token'>,</span> <span class='rubyid_game_data identifier id'>game_data</span><span class='rparen token'>)</span>
686
+ <span class='rubyid_@app_id ivar id'>@app_id</span> <span class='assign token'>=</span> <span class='rubyid_app_id identifier id'>app_id</span>
687
+
688
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_game_data identifier id'>game_data</span><span class='dot token'>.</span><span class='rubyid_key? fid id'>key?</span> <span class='string val'>'name'</span>
689
+ <span class='rubyid_@logo_hash ivar id'>@logo_hash</span> <span class='assign token'>=</span> <span class='rubyid_game_data identifier id'>game_data</span><span class='lbrack token'>[</span><span class='string val'>'logo'</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='dregexp node'>/\/#{app_id}\/([0-9a-f]+).jpg/</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='integer val'>1</span><span class='rbrack token'>]</span>
690
+ <span class='rubyid_@name ivar id'>@name</span> <span class='assign token'>=</span> <span class='rubyid_game_data identifier id'>game_data</span><span class='lbrack token'>[</span><span class='string val'>'name'</span><span class='rbrack token'>]</span>
691
+
692
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_game_data identifier id'>game_data</span><span class='dot token'>.</span><span class='rubyid_key? fid id'>key?</span> <span class='string val'>'globalStatsLink'</span>
693
+ <span class='rubyid_@short_name ivar id'>@short_name</span> <span class='assign token'>=</span> <span class='rubyid_game_data identifier id'>game_data</span><span class='lbrack token'>[</span><span class='string val'>'globalStatsLink'</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='regexp val'>/http:\/\/steamcommunity.com\/stats\/([^?\/]+)\/achievements\//</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='integer val'>1</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_downcase identifier id'>downcase</span>
694
+ <span class='rubyid_end end kw'>end</span>
695
+ <span class='rubyid_else else kw'>else</span>
696
+ <span class='rubyid_@icon_url ivar id'>@icon_url</span> <span class='assign token'>=</span> <span class='rubyid_game_data identifier id'>game_data</span><span class='lbrack token'>[</span><span class='string val'>'gameIcon'</span><span class='rbrack token'>]</span>
697
+ <span class='rubyid_@logo_hash ivar id'>@logo_hash</span> <span class='assign token'>=</span> <span class='rubyid_game_data identifier id'>game_data</span><span class='lbrack token'>[</span><span class='string val'>'gameLogo'</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='dregexp node'>/\/#{app_id}\/([0-9a-f]+).jpg/</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='integer val'>1</span><span class='rbrack token'>]</span>
698
+ <span class='rubyid_@name ivar id'>@name</span> <span class='assign token'>=</span> <span class='rubyid_game_data identifier id'>game_data</span><span class='lbrack token'>[</span><span class='string val'>'gameName'</span><span class='rbrack token'>]</span>
699
+ <span class='rubyid_@short_name ivar id'>@short_name</span> <span class='assign token'>=</span> <span class='rubyid_game_data identifier id'>game_data</span><span class='lbrack token'>[</span><span class='string val'>'gameFriendlyName'</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_downcase identifier id'>downcase</span>
700
+ <span class='rubyid_@short_name ivar id'>@short_name</span> <span class='assign token'>=</span> <span class='rubyid_@app_id ivar id'>@app_id</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_@short_name ivar id'>@short_name</span> <span class='eq op'>==</span> <span class='rubyid_@app_id ivar id'>@app_id</span><span class='dot token'>.</span><span class='rubyid_to_s identifier id'>to_s</span>
701
+ <span class='rubyid_end end kw'>end</span>
702
+ <span class='rubyid_end end kw'>end</span>
703
+ </pre>
704
+ </td>
705
+ </tr>
706
+ </table>
707
+ </div>
708
+
709
+ </div>
710
+
711
+ <div id="instance_attr_details" class="attr_details">
712
+ <h2>Instance Attribute Details</h2>
713
+
714
+
715
+ <span id=""></span>
716
+ <div class="method_details first">
717
+ <h3 class="signature first" id="app_id-instance_method">
718
+
719
+ - (<tt>Fixnum</tt>) <strong>app_id</strong> <span class="extras">(readonly)</span>
720
+
721
+
722
+
723
+
724
+
725
+ </h3><div class="docstring">
726
+ <div class="discussion">
727
+ <p>Returns the Steam application ID of this game</p>
728
+
729
+
730
+ </div>
731
+ </div>
732
+ <div class="tags">
733
+
734
+ <p class="tag_title">Returns:</p>
735
+ <ul class="return">
736
+
737
+ <li>
738
+
739
+
740
+ <span class='type'>(<tt>Fixnum</tt>)</span>
741
+
742
+
743
+
744
+ &mdash;
745
+ <div class='inline'><p>The Steam application ID of this game</p>
746
+ </div>
747
+
748
+ </li>
749
+
750
+ </ul>
751
+
752
+ </div><table class="source_code">
753
+ <tr>
754
+ <td>
755
+ <pre class="lines">
756
+
757
+
758
+ 22
759
+ 23
760
+ 24</pre>
761
+ </td>
762
+ <td>
763
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 22</span>
764
+
765
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_app_id identifier id'>app_id</span>
766
+ <span class='rubyid_@app_id ivar id'>@app_id</span>
767
+ <span class='rubyid_end end kw'>end</span>
768
+ </pre>
769
+ </td>
770
+ </tr>
771
+ </table>
772
+ </div>
773
+
774
+
775
+ <span id=""></span>
776
+ <div class="method_details ">
777
+ <h3 class="signature " id="icon_url-instance_method">
778
+
779
+ - (<tt>String</tt>) <strong>icon_url</strong> <span class="extras">(readonly)</span>
780
+
781
+
782
+
783
+
784
+
785
+ </h3><div class="docstring">
786
+ <div class="discussion">
787
+ <p>Returns the URL for the icon image of this game</p>
788
+
789
+
790
+ </div>
791
+ </div>
792
+ <div class="tags">
793
+
794
+ <p class="tag_title">Returns:</p>
795
+ <ul class="return">
796
+
797
+ <li>
798
+
799
+
800
+ <span class='type'>(<tt>String</tt>)</span>
801
+
802
+
803
+
804
+ &mdash;
805
+ <div class='inline'><p>The URL for the game icon</p>
806
+ </div>
807
+
808
+ </li>
809
+
810
+ </ul>
811
+
812
+ </div><table class="source_code">
813
+ <tr>
814
+ <td>
815
+ <pre class="lines">
816
+
817
+
818
+ 27
819
+ 28
820
+ 29</pre>
821
+ </td>
822
+ <td>
823
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 27</span>
824
+
825
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_icon_url identifier id'>icon_url</span>
826
+ <span class='rubyid_@icon_url ivar id'>@icon_url</span>
827
+ <span class='rubyid_end end kw'>end</span>
828
+ </pre>
829
+ </td>
830
+ </tr>
831
+ </table>
832
+ </div>
833
+
834
+
835
+ <span id=""></span>
836
+ <div class="method_details ">
837
+ <h3 class="signature " id="name-instance_method">
838
+
839
+ - (<tt>String</tt>) <strong>name</strong> <span class="extras">(readonly)</span>
840
+
841
+
842
+
843
+
844
+
845
+ </h3><div class="docstring">
846
+ <div class="discussion">
847
+ <p>Returns the full name of this game</p>
848
+
849
+
850
+ </div>
851
+ </div>
852
+ <div class="tags">
853
+
854
+ <p class="tag_title">Returns:</p>
855
+ <ul class="return">
856
+
857
+ <li>
858
+
859
+
860
+ <span class='type'>(<tt>String</tt>)</span>
861
+
862
+
863
+
864
+ &mdash;
865
+ <div class='inline'><p>The full name of this game</p>
866
+ </div>
867
+
868
+ </li>
869
+
870
+ </ul>
871
+
872
+ </div><table class="source_code">
873
+ <tr>
874
+ <td>
875
+ <pre class="lines">
876
+
877
+
878
+ 32
879
+ 33
880
+ 34</pre>
881
+ </td>
882
+ <td>
883
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 32</span>
884
+
885
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_name identifier id'>name</span>
886
+ <span class='rubyid_@name ivar id'>@name</span>
887
+ <span class='rubyid_end end kw'>end</span>
888
+ </pre>
889
+ </td>
890
+ </tr>
891
+ </table>
892
+ </div>
893
+
894
+
895
+ <span id=""></span>
896
+ <div class="method_details ">
897
+ <h3 class="signature " id="short_name-instance_method">
898
+
899
+ - (<tt>String</tt>) <strong>short_name</strong> <span class="extras">(readonly)</span>
900
+
901
+
902
+
903
+
904
+
905
+ </h3><div class="docstring">
906
+ <div class="discussion">
907
+ <p>Returns the short name of this game (also known as &quot;friendly name&quot;)</p>
908
+
909
+
910
+ </div>
911
+ </div>
912
+ <div class="tags">
913
+
914
+ <p class="tag_title">Returns:</p>
915
+ <ul class="return">
916
+
917
+ <li>
918
+
919
+
920
+ <span class='type'>(<tt>String</tt>)</span>
921
+
922
+
923
+
924
+ &mdash;
925
+ <div class='inline'><p>The short name of this game</p>
926
+ </div>
927
+
928
+ </li>
929
+
930
+ </ul>
931
+
932
+ </div><table class="source_code">
933
+ <tr>
934
+ <td>
935
+ <pre class="lines">
936
+
937
+
938
+ 37
939
+ 38
940
+ 39</pre>
941
+ </td>
942
+ <td>
943
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 37</span>
944
+
945
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_short_name identifier id'>short_name</span>
946
+ <span class='rubyid_@short_name ivar id'>@short_name</span>
947
+ <span class='rubyid_end end kw'>end</span>
948
+ </pre>
949
+ </td>
950
+ </tr>
951
+ </table>
952
+ </div>
953
+
954
+ </div>
955
+
956
+
957
+ <div id="class_method_details" class="method_details_list">
958
+ <h2>Class Method Details</h2>
959
+
960
+
961
+ <div class="method_details first">
962
+ <h3 class="signature first" id="check_steam_inf-class_method">
963
+
964
+ + (<tt>Boolean</tt>) <strong>check_steam_inf</strong>(path)
965
+
966
+
967
+
968
+
969
+
970
+ </h3><div class="docstring">
971
+ <div class="discussion">
972
+ <p>Checks if a game is up-to-date by reading information from a <code>steam.inf</code>
973
+ file and comparing it using the Web API</p>
974
+
975
+
976
+ </div>
977
+ </div>
978
+ <div class="tags">
979
+ <p class="tag_title">Parameters:</p>
980
+ <ul class="param">
981
+
982
+ <li>
983
+
984
+ <span class='name'>path</span>
985
+
986
+
987
+ <span class='type'>(<tt>String</tt>)</span>
988
+
989
+
990
+
991
+ &mdash;
992
+ <div class='inline'><p>The file system path of the <code>steam.inf</code> file</p>
993
+ </div>
994
+
995
+ </li>
996
+
997
+ </ul>
998
+
999
+ <p class="tag_title">Returns:</p>
1000
+ <ul class="return">
1001
+
1002
+ <li>
1003
+
1004
+
1005
+ <span class='type'>(<tt>Boolean</tt>)</span>
1006
+
1007
+
1008
+
1009
+ &mdash;
1010
+ <div class='inline'><p><code>true</code> if the game is up-to-date</p>
1011
+ </div>
1012
+
1013
+ </li>
1014
+
1015
+ </ul>
1016
+
1017
+ </div><table class="source_code">
1018
+ <tr>
1019
+ <td>
1020
+ <pre class="lines">
1021
+
1022
+
1023
+ 44
1024
+ 45
1025
+ 46
1026
+ 47
1027
+ 48
1028
+ 49
1029
+ 50
1030
+ 51
1031
+ 52
1032
+ 53</pre>
1033
+ </td>
1034
+ <td>
1035
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 44</span>
1036
+
1037
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_check_steam_inf identifier id'>check_steam_inf</span><span class='lparen token'>(</span><span class='rubyid_path identifier id'>path</span><span class='rparen token'>)</span>
1038
+ <span class='rubyid_steam_inf identifier id'>steam_inf</span> <span class='assign token'>=</span> <span class='rubyid_File constant id'>File</span><span class='dot token'>.</span><span class='rubyid_read identifier id'>read</span> <span class='rubyid_path identifier id'>path</span>
1039
+ <span class='rubyid_begin begin kw'>begin</span>
1040
+ <span class='rubyid_app_id identifier id'>app_id</span> <span class='assign token'>=</span> <span class='rubyid_steam_inf identifier id'>steam_inf</span><span class='dot token'>.</span><span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='regexp val'>/^\s*appID=(\d+)\s*$/i</span><span class='rubyid_m identifier id'>m</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='integer val'>1</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_to_i identifier id'>to_i</span>
1041
+ <span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='rubyid_steam_inf identifier id'>steam_inf</span><span class='dot token'>.</span><span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='regexp val'>/^\s*PatchVersion=([\d\.]+)\s*$/i</span><span class='rubyid_m identifier id'>m</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='integer val'>1</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='string val'>'.'</span><span class='comma token'>,</span> <span class='string val'>''</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='rubyid_to_i identifier id'>to_i</span>
1042
+ <span class='rubyid_rescue rescue kw'>rescue</span>
1043
+ <span class='rubyid_raise identifier id'>raise</span> <span class='rubyid_SteamCondenserError constant id'>SteamCondenserError</span><span class='comma token'>,</span> <span class='dstring node'>&quot;The steam.inf file at \&quot;#{path}\&quot; is invalid.&quot;</span>
1044
+ <span class='rubyid_end end kw'>end</span>
1045
+ <span class='rubyid_uptodate? fid id'>uptodate?</span> <span class='rubyid_app_id identifier id'>app_id</span><span class='comma token'>,</span> <span class='rubyid_version identifier id'>version</span>
1046
+ <span class='rubyid_end end kw'>end</span>
1047
+ </pre>
1048
+ </td>
1049
+ </tr>
1050
+ </table>
1051
+ </div>
1052
+
1053
+ <div class="method_details ">
1054
+ <h3 class="signature " id="new-class_method">
1055
+
1056
+ + (<tt>Object</tt>) <strong>new</strong>(app_id, game_data = nil)
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+ </h3><div class="docstring">
1063
+ <div class="discussion">
1064
+ <p>Creates a new instance of a game with the given data and caches it</p>
1065
+
1066
+
1067
+ </div>
1068
+ </div>
1069
+ <div class="tags">
1070
+ <p class="tag_title">Parameters:</p>
1071
+ <ul class="param">
1072
+
1073
+ <li>
1074
+
1075
+ <span class='name'>app_id</span>
1076
+
1077
+
1078
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1079
+
1080
+
1081
+
1082
+ &mdash;
1083
+ <div class='inline'><p>The application ID of the game</p>
1084
+ </div>
1085
+
1086
+ </li>
1087
+
1088
+ <li>
1089
+
1090
+ <span class='name'>game_data</span>
1091
+
1092
+
1093
+ <span class='type'>(<tt>Hash&lt;String, Object&gt;</tt>)</span>
1094
+
1095
+
1096
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1097
+
1098
+
1099
+ &mdash;
1100
+ <div class='inline'><p>The XML data of the game</p>
1101
+ </div>
1102
+
1103
+ </li>
1104
+
1105
+ </ul>
1106
+
1107
+
1108
+ </div><table class="source_code">
1109
+ <tr>
1110
+ <td>
1111
+ <pre class="lines">
1112
+
1113
+
1114
+ 59
1115
+ 60
1116
+ 61
1117
+ 62
1118
+ 63
1119
+ 64
1120
+ 65
1121
+ 66
1122
+ 67</pre>
1123
+ </td>
1124
+ <td>
1125
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 59</span>
1126
+
1127
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_app_id identifier id'>app_id</span><span class='comma token'>,</span> <span class='rubyid_game_data identifier id'>game_data</span> <span class='assign token'>=</span> <span class='rubyid_nil nil kw'>nil</span><span class='rparen token'>)</span>
1128
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_cached? fid id'>cached?</span> <span class='rubyid_app_id identifier id'>app_id</span>
1129
+ <span class='rubyid_class_variable_get identifier id'>class_variable_get</span><span class='lparen token'>(</span><span class='symbol val'>:@@cache</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='rubyid_app_id identifier id'>app_id</span><span class='rbrack token'>]</span>
1130
+ <span class='rubyid_else else kw'>else</span>
1131
+ <span class='rubyid_game identifier id'>game</span> <span class='assign token'>=</span> <span class='rubyid_SteamGame constant id'>SteamGame</span><span class='dot token'>.</span><span class='rubyid_allocate identifier id'>allocate</span>
1132
+ <span class='rubyid_game identifier id'>game</span><span class='dot token'>.</span><span class='rubyid_send identifier id'>send</span> <span class='symbol val'>:initialize</span><span class='comma token'>,</span> <span class='rubyid_app_id identifier id'>app_id</span><span class='comma token'>,</span> <span class='rubyid_game_data identifier id'>game_data</span>
1133
+ <span class='rubyid_game identifier id'>game</span>
1134
+ <span class='rubyid_end end kw'>end</span>
1135
+ <span class='rubyid_end end kw'>end</span>
1136
+ </pre>
1137
+ </td>
1138
+ </tr>
1139
+ </table>
1140
+ </div>
1141
+
1142
+ <div class="method_details ">
1143
+ <h3 class="signature " id="uptodate?-class_method">
1144
+
1145
+ + (<tt>Boolean</tt>) <strong>uptodate?</strong>(app_id, version)
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+ </h3><div class="docstring">
1152
+ <div class="discussion">
1153
+ <p>Returns whether the given version of the game with the given application ID
1154
+ is up-to-date</p>
1155
+
1156
+
1157
+ </div>
1158
+ </div>
1159
+ <div class="tags">
1160
+ <p class="tag_title">Parameters:</p>
1161
+ <ul class="param">
1162
+
1163
+ <li>
1164
+
1165
+ <span class='name'>app_id</span>
1166
+
1167
+
1168
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1169
+
1170
+
1171
+
1172
+ &mdash;
1173
+ <div class='inline'><p>The application ID of the game to check</p>
1174
+ </div>
1175
+
1176
+ </li>
1177
+
1178
+ <li>
1179
+
1180
+ <span class='name'>version</span>
1181
+
1182
+
1183
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1184
+
1185
+
1186
+
1187
+ &mdash;
1188
+ <div class='inline'><p>The version to check against the Web API</p>
1189
+ </div>
1190
+
1191
+ </li>
1192
+
1193
+ </ul>
1194
+
1195
+ <p class="tag_title">Returns:</p>
1196
+ <ul class="return">
1197
+
1198
+ <li>
1199
+
1200
+
1201
+ <span class='type'>(<tt>Boolean</tt>)</span>
1202
+
1203
+
1204
+
1205
+ &mdash;
1206
+ <div class='inline'><p><code>true</code> if the given version is up-to-date</p>
1207
+ </div>
1208
+
1209
+ </li>
1210
+
1211
+ </ul>
1212
+ <p class="tag_title">Raises:</p>
1213
+ <ul class="raise">
1214
+
1215
+ <li>
1216
+
1217
+
1218
+ <span class='type'>(<tt><span class='object_link'><a href="SteamCondenserError.html" title="SteamCondenserError (class)">SteamCondenserError</a></span></tt>)</span>
1219
+
1220
+
1221
+
1222
+ </li>
1223
+
1224
+ </ul>
1225
+
1226
+ </div><table class="source_code">
1227
+ <tr>
1228
+ <td>
1229
+ <pre class="lines">
1230
+
1231
+
1232
+ 75
1233
+ 76
1234
+ 77
1235
+ 78
1236
+ 79
1237
+ 80
1238
+ 81</pre>
1239
+ </td>
1240
+ <td>
1241
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 75</span>
1242
+
1243
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_uptodate? fid id'>uptodate?</span><span class='lparen token'>(</span><span class='rubyid_app_id identifier id'>app_id</span><span class='comma token'>,</span> <span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span>
1244
+ <span class='rubyid_params identifier id'>params</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span> <span class='symbol val'>:appid</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='rubyid_app_id identifier id'>app_id</span><span class='comma token'>,</span> <span class='symbol val'>:version</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='rubyid_version identifier id'>version</span> <span class='rbrace token'>}</span>
1245
+ <span class='rubyid_result identifier id'>result</span> <span class='assign token'>=</span> <span class='rubyid_WebApi constant id'>WebApi</span><span class='dot token'>.</span><span class='rubyid_json identifier id'>json</span> <span class='string val'>'ISteamApps'</span><span class='comma token'>,</span> <span class='string val'>'UpToDateCheck'</span><span class='comma token'>,</span> <span class='integer val'>1</span><span class='comma token'>,</span> <span class='rubyid_params identifier id'>params</span>
1246
+ <span class='rubyid_result identifier id'>result</span> <span class='assign token'>=</span> <span class='rubyid_MultiJson constant id'>MultiJson</span><span class='dot token'>.</span><span class='rubyid_load identifier id'>load</span><span class='lparen token'>(</span><span class='rubyid_result identifier id'>result</span><span class='comma token'>,</span> <span class='lbrace token'>{</span> <span class='symbol val'>:symbolize_keys</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='rubyid_true true kw'>true</span><span class='rbrace token'>}</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='symbol val'>:response</span><span class='rbrack token'>]</span>
1247
+ <span class='rubyid_raise identifier id'>raise</span> <span class='rubyid_SteamCondenserError constant id'>SteamCondenserError</span><span class='comma token'>,</span> <span class='rubyid_result identifier id'>result</span><span class='lbrack token'>[</span><span class='symbol val'>:error</span><span class='rbrack token'>]</span> <span class='rubyid_unless unless_mod kw'>unless</span> <span class='rubyid_result identifier id'>result</span><span class='lbrack token'>[</span><span class='symbol val'>:success</span><span class='rbrack token'>]</span>
1248
+ <span class='rubyid_result identifier id'>result</span><span class='lbrack token'>[</span><span class='symbol val'>:up_to_date</span><span class='rbrack token'>]</span>
1249
+ <span class='rubyid_end end kw'>end</span>
1250
+ </pre>
1251
+ </td>
1252
+ </tr>
1253
+ </table>
1254
+ </div>
1255
+
1256
+ </div>
1257
+
1258
+ <div id="instance_method_details" class="method_details_list">
1259
+ <h2>Instance Method Details</h2>
1260
+
1261
+
1262
+ <div class="method_details first">
1263
+ <h3 class="signature first" id="has_stats?-instance_method">
1264
+
1265
+ - (<tt>Boolean</tt>) <strong>has_stats?</strong>
1266
+
1267
+
1268
+
1269
+
1270
+
1271
+ </h3><div class="docstring">
1272
+ <div class="discussion">
1273
+ <p>Returns whether this game has statistics available</p>
1274
+
1275
+
1276
+ </div>
1277
+ </div>
1278
+ <div class="tags">
1279
+
1280
+ <p class="tag_title">Returns:</p>
1281
+ <ul class="return">
1282
+
1283
+ <li>
1284
+
1285
+
1286
+ <span class='type'>(<tt>Boolean</tt>)</span>
1287
+
1288
+
1289
+
1290
+ &mdash;
1291
+ <div class='inline'><p><code>true</code> if this game has stats</p>
1292
+ </div>
1293
+
1294
+ </li>
1295
+
1296
+ </ul>
1297
+
1298
+ </div><table class="source_code">
1299
+ <tr>
1300
+ <td>
1301
+ <pre class="lines">
1302
+
1303
+
1304
+ 86
1305
+ 87
1306
+ 88</pre>
1307
+ </td>
1308
+ <td>
1309
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 86</span>
1310
+
1311
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_has_stats? fid id'>has_stats?</span>
1312
+ <span class='notop op'>!</span><span class='rubyid_@short_name ivar id'>@short_name</span><span class='dot token'>.</span><span class='rubyid_nil? fid id'>nil?</span>
1313
+ <span class='rubyid_end end kw'>end</span>
1314
+ </pre>
1315
+ </td>
1316
+ </tr>
1317
+ </table>
1318
+ </div>
1319
+
1320
+ <div class="method_details ">
1321
+ <h3 class="signature " id="id-instance_method">
1322
+
1323
+ - (<tt>Fixnum</tt>, <tt>String</tt>) <strong>id</strong>
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+ </h3><div class="docstring">
1330
+ <div class="discussion">
1331
+ <p>Returns a unique identifier for this game</p>
1332
+
1333
+ <p>This is either the numeric application ID or the unique short name</p>
1334
+
1335
+
1336
+ </div>
1337
+ </div>
1338
+ <div class="tags">
1339
+
1340
+ <p class="tag_title">Returns:</p>
1341
+ <ul class="return">
1342
+
1343
+ <li>
1344
+
1345
+
1346
+ <span class='type'>(<tt>Fixnum</tt>, <tt>String</tt>)</span>
1347
+
1348
+
1349
+
1350
+ &mdash;
1351
+ <div class='inline'><p>The application ID or short name of the game</p>
1352
+ </div>
1353
+
1354
+ </li>
1355
+
1356
+ </ul>
1357
+
1358
+ </div><table class="source_code">
1359
+ <tr>
1360
+ <td>
1361
+ <pre class="lines">
1362
+
1363
+
1364
+ 95
1365
+ 96
1366
+ 97</pre>
1367
+ </td>
1368
+ <td>
1369
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 95</span>
1370
+
1371
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_id identifier id'>id</span>
1372
+ <span class='rubyid_@short_name ivar id'>@short_name</span> <span class='eq op'>==</span> <span class='rubyid_@app_id ivar id'>@app_id</span><span class='dot token'>.</span><span class='rubyid_to_s identifier id'>to_s</span> <span class='integer val'>? </span><span class='rubyid_@app_id ivar id'>@app_id</span> <span class='colon op'>:</span> <span class='rubyid_@short_name ivar id'>@short_name</span>
1373
+ <span class='rubyid_end end kw'>end</span>
1374
+ </pre>
1375
+ </td>
1376
+ </tr>
1377
+ </table>
1378
+ </div>
1379
+
1380
+ <div class="method_details ">
1381
+ <h3 class="signature " id="leaderboard-instance_method">
1382
+
1383
+ - (<tt><span class='object_link'><a href="GameLeaderboard.html" title="GameLeaderboard (class)">GameLeaderboard</a></span></tt>) <strong>leaderboard</strong>(id)
1384
+
1385
+
1386
+
1387
+
1388
+
1389
+ </h3><div class="docstring">
1390
+ <div class="discussion">
1391
+ <p>Returns the leaderboard for this game and the given leaderboard ID or name</p>
1392
+
1393
+
1394
+ </div>
1395
+ </div>
1396
+ <div class="tags">
1397
+ <p class="tag_title">Parameters:</p>
1398
+ <ul class="param">
1399
+
1400
+ <li>
1401
+
1402
+ <span class='name'>id</span>
1403
+
1404
+
1405
+ <span class='type'>(<tt>Fixnum</tt>, <tt>String</tt>)</span>
1406
+
1407
+
1408
+
1409
+ &mdash;
1410
+ <div class='inline'><p>The ID or name of the leaderboard to return</p>
1411
+ </div>
1412
+
1413
+ </li>
1414
+
1415
+ </ul>
1416
+
1417
+ <p class="tag_title">Returns:</p>
1418
+ <ul class="return">
1419
+
1420
+ <li>
1421
+
1422
+
1423
+ <span class='type'>(<tt><span class='object_link'><a href="GameLeaderboard.html" title="GameLeaderboard (class)">GameLeaderboard</a></span></tt>)</span>
1424
+
1425
+
1426
+
1427
+ &mdash;
1428
+ <div class='inline'><p>The matching leaderboard if available</p>
1429
+ </div>
1430
+
1431
+ </li>
1432
+
1433
+ </ul>
1434
+
1435
+ </div><table class="source_code">
1436
+ <tr>
1437
+ <td>
1438
+ <pre class="lines">
1439
+
1440
+
1441
+ 103
1442
+ 104
1443
+ 105</pre>
1444
+ </td>
1445
+ <td>
1446
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 103</span>
1447
+
1448
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_leaderboard identifier id'>leaderboard</span><span class='lparen token'>(</span><span class='rubyid_id identifier id'>id</span><span class='rparen token'>)</span>
1449
+ <span class='rubyid_GameLeaderboard constant id'>GameLeaderboard</span><span class='dot token'>.</span><span class='rubyid_leaderboard identifier id'>leaderboard</span> <span class='rubyid_@short_name ivar id'>@short_name</span><span class='comma token'>,</span> <span class='rubyid_id identifier id'>id</span>
1450
+ <span class='rubyid_end end kw'>end</span>
1451
+ </pre>
1452
+ </td>
1453
+ </tr>
1454
+ </table>
1455
+ </div>
1456
+
1457
+ <div class="method_details ">
1458
+ <h3 class="signature " id="leaderboards-instance_method">
1459
+
1460
+ - (<tt>Array&lt;<span class='object_link'><a href="GameLeaderboard.html" title="GameLeaderboard (class)">GameLeaderboard</a></span>&gt;</tt>) <strong>leaderboards</strong>
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+ </h3><div class="docstring">
1467
+ <div class="discussion">
1468
+ <p>Returns an array containing all of this game&#39;s leaderboards</p>
1469
+
1470
+
1471
+ </div>
1472
+ </div>
1473
+ <div class="tags">
1474
+
1475
+ <p class="tag_title">Returns:</p>
1476
+ <ul class="return">
1477
+
1478
+ <li>
1479
+
1480
+
1481
+ <span class='type'>(<tt>Array&lt;<span class='object_link'><a href="GameLeaderboard.html" title="GameLeaderboard (class)">GameLeaderboard</a></span>&gt;</tt>)</span>
1482
+
1483
+
1484
+
1485
+ &mdash;
1486
+ <div class='inline'><p>The leaderboards for this game</p>
1487
+ </div>
1488
+
1489
+ </li>
1490
+
1491
+ </ul>
1492
+
1493
+ </div><table class="source_code">
1494
+ <tr>
1495
+ <td>
1496
+ <pre class="lines">
1497
+
1498
+
1499
+ 110
1500
+ 111
1501
+ 112</pre>
1502
+ </td>
1503
+ <td>
1504
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 110</span>
1505
+
1506
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_leaderboards identifier id'>leaderboards</span>
1507
+ <span class='rubyid_GameLeaderboard constant id'>GameLeaderboard</span><span class='dot token'>.</span><span class='rubyid_leaderboards identifier id'>leaderboards</span> <span class='rubyid_@short_name ivar id'>@short_name</span>
1508
+ <span class='rubyid_end end kw'>end</span>
1509
+ </pre>
1510
+ </td>
1511
+ </tr>
1512
+ </table>
1513
+ </div>
1514
+
1515
+ <div class="method_details ">
1516
+ <h3 class="signature " id="logo_thumbnail_url-instance_method">
1517
+
1518
+ - (<tt>String</tt>) <strong>logo_thumbnail_url</strong>
1519
+
1520
+
1521
+
1522
+
1523
+
1524
+ </h3><div class="docstring">
1525
+ <div class="discussion">
1526
+ <p>Returns the URL for the logo thumbnail image of this game</p>
1527
+
1528
+
1529
+ </div>
1530
+ </div>
1531
+ <div class="tags">
1532
+
1533
+ <p class="tag_title">Returns:</p>
1534
+ <ul class="return">
1535
+
1536
+ <li>
1537
+
1538
+
1539
+ <span class='type'>(<tt>String</tt>)</span>
1540
+
1541
+
1542
+
1543
+ &mdash;
1544
+ <div class='inline'><p>The URL for the game logo thumbnail</p>
1545
+ </div>
1546
+
1547
+ </li>
1548
+
1549
+ </ul>
1550
+
1551
+ </div><table class="source_code">
1552
+ <tr>
1553
+ <td>
1554
+ <pre class="lines">
1555
+
1556
+
1557
+ 124
1558
+ 125
1559
+ 126</pre>
1560
+ </td>
1561
+ <td>
1562
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 124</span>
1563
+
1564
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_logo_thumbnail_url identifier id'>logo_thumbnail_url</span>
1565
+ <span class='string val'>&quot;http://media.steampowered.com/steamcommunity/public/images/apps/#@app_id/#@logo_hash_thumb.jpg&quot;</span>
1566
+ <span class='rubyid_end end kw'>end</span>
1567
+ </pre>
1568
+ </td>
1569
+ </tr>
1570
+ </table>
1571
+ </div>
1572
+
1573
+ <div class="method_details ">
1574
+ <h3 class="signature " id="logo_url-instance_method">
1575
+
1576
+ - (<tt>String</tt>) <strong>logo_url</strong>
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+ </h3><div class="docstring">
1583
+ <div class="discussion">
1584
+ <p>Returns the URL for the logo image of this game</p>
1585
+
1586
+
1587
+ </div>
1588
+ </div>
1589
+ <div class="tags">
1590
+
1591
+ <p class="tag_title">Returns:</p>
1592
+ <ul class="return">
1593
+
1594
+ <li>
1595
+
1596
+
1597
+ <span class='type'>(<tt>String</tt>)</span>
1598
+
1599
+
1600
+
1601
+ &mdash;
1602
+ <div class='inline'><p>The URL for the game logo</p>
1603
+ </div>
1604
+
1605
+ </li>
1606
+
1607
+ </ul>
1608
+
1609
+ </div><table class="source_code">
1610
+ <tr>
1611
+ <td>
1612
+ <pre class="lines">
1613
+
1614
+
1615
+ 117
1616
+ 118
1617
+ 119</pre>
1618
+ </td>
1619
+ <td>
1620
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 117</span>
1621
+
1622
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_logo_url identifier id'>logo_url</span>
1623
+ <span class='string val'>&quot;http://media.steampowered.com/steamcommunity/public/images/apps/#@app_id/#@logo_hash.jpg&quot;</span>
1624
+ <span class='rubyid_end end kw'>end</span>
1625
+ </pre>
1626
+ </td>
1627
+ </tr>
1628
+ </table>
1629
+ </div>
1630
+
1631
+ <div class="method_details ">
1632
+ <h3 class="signature " id="store_url-instance_method">
1633
+
1634
+ - (<tt>String</tt>) <strong>store_url</strong>
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+ </h3><div class="docstring">
1641
+ <div class="discussion">
1642
+ <p>Returns the URL of this game&#39;s page in the Steam Store</p>
1643
+
1644
+
1645
+ </div>
1646
+ </div>
1647
+ <div class="tags">
1648
+
1649
+ <p class="tag_title">Returns:</p>
1650
+ <ul class="return">
1651
+
1652
+ <li>
1653
+
1654
+
1655
+ <span class='type'>(<tt>String</tt>)</span>
1656
+
1657
+
1658
+
1659
+ &mdash;
1660
+ <div class='inline'><p>This game&#39;s store page</p>
1661
+ </div>
1662
+
1663
+ </li>
1664
+
1665
+ </ul>
1666
+
1667
+ </div><table class="source_code">
1668
+ <tr>
1669
+ <td>
1670
+ <pre class="lines">
1671
+
1672
+
1673
+ 131
1674
+ 132
1675
+ 133</pre>
1676
+ </td>
1677
+ <td>
1678
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 131</span>
1679
+
1680
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_store_url identifier id'>store_url</span>
1681
+ <span class='string val'>&quot;http://store.steampowered.com/app/#@app_id&quot;</span>
1682
+ <span class='rubyid_end end kw'>end</span>
1683
+ </pre>
1684
+ </td>
1685
+ </tr>
1686
+ </table>
1687
+ </div>
1688
+
1689
+ <div class="method_details ">
1690
+ <h3 class="signature " id="uptodate?-instance_method">
1691
+
1692
+ - (<tt>Boolean</tt>) <strong>uptodate?</strong>(version)
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+ </h3><div class="docstring">
1699
+ <div class="discussion">
1700
+ <p>Returns whether the given version of this game is up-to-date</p>
1701
+
1702
+
1703
+ </div>
1704
+ </div>
1705
+ <div class="tags">
1706
+ <p class="tag_title">Parameters:</p>
1707
+ <ul class="param">
1708
+
1709
+ <li>
1710
+
1711
+ <span class='name'>version</span>
1712
+
1713
+
1714
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1715
+
1716
+
1717
+
1718
+ &mdash;
1719
+ <div class='inline'><p>The version to check against the Web API</p>
1720
+ </div>
1721
+
1722
+ </li>
1723
+
1724
+ </ul>
1725
+
1726
+ <p class="tag_title">Returns:</p>
1727
+ <ul class="return">
1728
+
1729
+ <li>
1730
+
1731
+
1732
+ <span class='type'>(<tt>Boolean</tt>)</span>
1733
+
1734
+
1735
+
1736
+ &mdash;
1737
+ <div class='inline'><p><code>true</code> if the given version is up-to-date</p>
1738
+ </div>
1739
+
1740
+ </li>
1741
+
1742
+ </ul>
1743
+
1744
+ </div><table class="source_code">
1745
+ <tr>
1746
+ <td>
1747
+ <pre class="lines">
1748
+
1749
+
1750
+ 139
1751
+ 140
1752
+ 141</pre>
1753
+ </td>
1754
+ <td>
1755
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 139</span>
1756
+
1757
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_uptodate? fid id'>uptodate?</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span>
1758
+ <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_class identifier id'>class</span><span class='dot token'>.</span><span class='rubyid_uptodate? fid id'>uptodate?</span> <span class='rubyid_@app_id ivar id'>@app_id</span><span class='comma token'>,</span> <span class='rubyid_version identifier id'>version</span>
1759
+ <span class='rubyid_end end kw'>end</span>
1760
+ </pre>
1761
+ </td>
1762
+ </tr>
1763
+ </table>
1764
+ </div>
1765
+
1766
+ <div class="method_details ">
1767
+ <h3 class="signature " id="user_stats-instance_method">
1768
+
1769
+ - (<tt><span class='object_link'><a href="GameStats.html" title="GameStats (class)">GameStats</a></span></tt>) <strong>user_stats</strong>(steam_id)
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+ </h3><div class="docstring">
1776
+ <div class="discussion">
1777
+ <p>Creates a stats object for the given user and this game</p>
1778
+
1779
+
1780
+ </div>
1781
+ </div>
1782
+ <div class="tags">
1783
+ <p class="tag_title">Parameters:</p>
1784
+ <ul class="param">
1785
+
1786
+ <li>
1787
+
1788
+ <span class='name'>steam_id</span>
1789
+
1790
+
1791
+ <span class='type'>(<tt>String</tt>, <tt>Fixnum</tt>)</span>
1792
+
1793
+
1794
+
1795
+ &mdash;
1796
+ <div class='inline'><p>The custom URL or the 64bit Steam ID of
1797
+ the user</p>
1798
+ </div>
1799
+
1800
+ </li>
1801
+
1802
+ </ul>
1803
+
1804
+ <p class="tag_title">Returns:</p>
1805
+ <ul class="return">
1806
+
1807
+ <li>
1808
+
1809
+
1810
+ <span class='type'>(<tt><span class='object_link'><a href="GameStats.html" title="GameStats (class)">GameStats</a></span></tt>)</span>
1811
+
1812
+
1813
+
1814
+ &mdash;
1815
+ <div class='inline'><p>The stats of this game for the given user</p>
1816
+ </div>
1817
+
1818
+ </li>
1819
+
1820
+ </ul>
1821
+
1822
+ </div><table class="source_code">
1823
+ <tr>
1824
+ <td>
1825
+ <pre class="lines">
1826
+
1827
+
1828
+ 148
1829
+ 149
1830
+ 150
1831
+ 151
1832
+ 152</pre>
1833
+ </td>
1834
+ <td>
1835
+ <pre class="code"><span class="info file"># File 'lib/steam/community/steam_game.rb', line 148</span>
1836
+
1837
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_user_stats identifier id'>user_stats</span><span class='lparen token'>(</span><span class='rubyid_steam_id identifier id'>steam_id</span><span class='rparen token'>)</span>
1838
+ <span class='rubyid_return return kw'>return</span> <span class='rubyid_unless unless_mod kw'>unless</span> <span class='rubyid_has_stats? fid id'>has_stats?</span>
1839
+
1840
+ <span class='rubyid_GameStats constant id'>GameStats</span><span class='dot token'>.</span><span class='rubyid_create_game_stats identifier id'>create_game_stats</span> <span class='rubyid_steam_id identifier id'>steam_id</span><span class='comma token'>,</span> <span class='rubyid_@short_name ivar id'>@short_name</span>
1841
+ <span class='rubyid_end end kw'>end</span>
1842
+ </pre>
1843
+ </td>
1844
+ </tr>
1845
+ </table>
1846
+ </div>
1847
+
1848
+ </div>
1849
+
1850
+ </div>
1851
+
1852
+ <div id="footer">
1853
+ Generated on Sat Jul 21 13:09:38 2012 by
1854
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1855
+ 0.8.2.1 (ruby-1.8.7).
1856
+ </div>
1857
+
1858
+ </body>
1859
+ </html>