Class: L4DStats
- Includes:
- AbstractL4DStats
- Defined in:
- lib/steam/community/l4d/l4d_stats.rb
Overview
This class represents the game statistics for a single user in Left4Dead
Constant Summary
Constants included from AbstractL4DStats
AbstractL4DStats::SPECIAL_INFECTED
Instance Attribute Summary
Attributes included from AbstractL4DStats
Attributes inherited from GameStats
#game, #hours_played, #privacy_state, #user
Instance Method Summary collapse
-
#initialize(steam_id, fetch = true, bypass_cache = false) ⇒ L4DStats
constructor
Creates a ‘L4DStats` object by calling the super constructor with the game name `’l4d’‘.
-
#survival_stats ⇒ Hash<String, Object>
Returns a hash of Survival statistics for this user like revived teammates.
-
#weapon_stats ⇒ Hash<String, Object>
Returns a hash of ‘L4DWeapon` for this user containing all Left4Dead weapons.
Methods included from AbstractL4DStats
#favorites, #lifetime_stats, #teamplay_stats, #versus_stats
Methods inherited from GameStats
#achievements, #achievements_done, #achievements_percentage, base_url, #base_url, create_game_stats, #public?
Methods included from XMLData
Constructor Details
#initialize(steam_id, fetch = true, bypass_cache = false) ⇒ L4DStats
Creates a ‘L4DStats` object by calling the super constructor with the game name `’l4d’‘
24 25 26 |
# File 'lib/steam/community/l4d/l4d_stats.rb', line 24 def initialize(steam_id) super steam_id, 'l4d' end |
Instance Method Details
#survival_stats ⇒ Hash<String, Object>
Returns a hash of Survival statistics for this user like revived teammates
If the Survival statistics haven’t been parsed already, parsing is done now.
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/steam/community/l4d/l4d_stats.rb', line 34 def survival_stats return unless public? if @survival_stats.nil? super @survival_stats[:maps] = {} @xml_data['stats']['survival']['maps'].each do |map_data| @survival_stats[:maps][map_data[0]] = L4DMap.new *map_data end end @survival_stats end |
#weapon_stats ⇒ Hash<String, Object>
Returns a hash of ‘L4DWeapon` for this user containing all Left4Dead weapons
If the weapons haven’t been parsed already, parsing is done now.
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/steam/community/l4d/l4d_stats.rb', line 54 def weapon_stats return unless public? if @weapon_stats.nil? @weapon_stats = {} @xml_data['stats']['weapons'].each do |weapon_data| unless %w{molotov pipes}.include? weapon_data[0] weapon = L4DWeapon.new *weapon_data else weapon = L4DExplosive.new *weapon_data end @weapon_stats[weapon_data[0]] = weapon end end @weapon_stats end |