sightstone 1.4.3 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/sightstone.rb +60 -60
- data/lib/sightstone/champion.rb +31 -31
- data/lib/sightstone/league.rb +74 -74
- data/lib/sightstone/masterybook.rb +49 -49
- data/lib/sightstone/match_history.rb +76 -76
- data/lib/sightstone/modules/champion_module.rb +33 -33
- data/lib/sightstone/modules/datadragon_module.rb +25 -25
- data/lib/sightstone/modules/game_module.rb +38 -38
- data/lib/sightstone/modules/league_module.rb +68 -40
- data/lib/sightstone/modules/sightstone_base_module.rb +39 -39
- data/lib/sightstone/modules/stats_module.rb +75 -75
- data/lib/sightstone/modules/summoner_module.rb +205 -205
- data/lib/sightstone/modules/team_module.rb +42 -42
- data/lib/sightstone/player_stats_summary.rb +38 -38
- data/lib/sightstone/ranked_stats.rb +24 -24
- data/lib/sightstone/runebook.rb +51 -51
- data/lib/sightstone/summoner.rb +22 -22
- data/lib/sightstone/team.rb +116 -116
- metadata +5 -4
@@ -1,39 +1,39 @@
|
|
1
|
-
module Sightstone
|
2
|
-
# summary of player statistic
|
3
|
-
# @attr [Fixnum] summonerId ID of the summoner
|
4
|
-
# @attr [Array<PlayerStatSummary] array of stat summaries for player with given id
|
5
|
-
class PlayerStatsSummaryList
|
6
|
-
|
7
|
-
attr_accessor :summonerId, :playerStatSummaries
|
8
|
-
|
9
|
-
def initialize(data)
|
10
|
-
@summonerId = data['summonerId']
|
11
|
-
@playerStatSummaries = []
|
12
|
-
data['playerStatSummaries'].each do |summary|
|
13
|
-
@playerStatSummaries << PlayerStatSummary.new(summary)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
# stat sumary for a queue
|
19
|
-
# @attr [Fixnum] wins number of won game
|
20
|
-
# @attr [Fixnum] losses number of lost games
|
21
|
-
# @attr [Fixnum] modifyDate date of modification as unix date
|
22
|
-
# @attr [String] playerStatSummaryType type of the stat (can be: AramUnranked5x5, CoopVsAI, OdinUnranked, RankedPremade3x3, RankedPremade5x5, RankedSolo5x5, RankedTeam3x3, RankedTeam5x5, Unranked, Unranked3x3, OneForAll5x5, FirstBlood1x1, FirstBlood2x2)
|
23
|
-
# @attr [Hash<String, Fixnum>] aggregatedStats a hash of all stats (key) and their values.
|
24
|
-
class PlayerStatSummary
|
25
|
-
attr_accessor :wins, :losses, :modifyDate, :playerStatSummaryType, :aggregatedStats
|
26
|
-
|
27
|
-
def initialize(data)
|
28
|
-
@wins = data['wins']
|
29
|
-
@losses = data['losses']
|
30
|
-
@modifyDate = data['modifyDate']
|
31
|
-
@playerStatSummaryType = data['playerStatSummaryType']
|
32
|
-
@aggregatedStats = {}
|
33
|
-
stat_keys = data['aggregatedStats'].keys
|
34
|
-
stat_keys.each do |stat|
|
35
|
-
@aggregatedStats[stat] = data['aggregatedStats'][stat]
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
1
|
+
module Sightstone
|
2
|
+
# summary of player statistic
|
3
|
+
# @attr [Fixnum] summonerId ID of the summoner
|
4
|
+
# @attr [Array<PlayerStatSummary] array of stat summaries for player with given id
|
5
|
+
class PlayerStatsSummaryList
|
6
|
+
|
7
|
+
attr_accessor :summonerId, :playerStatSummaries
|
8
|
+
|
9
|
+
def initialize(data)
|
10
|
+
@summonerId = data['summonerId']
|
11
|
+
@playerStatSummaries = []
|
12
|
+
data['playerStatSummaries'].each do |summary|
|
13
|
+
@playerStatSummaries << PlayerStatSummary.new(summary)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# stat sumary for a queue
|
19
|
+
# @attr [Fixnum] wins number of won game
|
20
|
+
# @attr [Fixnum] losses number of lost games
|
21
|
+
# @attr [Fixnum] modifyDate date of modification as unix date
|
22
|
+
# @attr [String] playerStatSummaryType type of the stat (can be: AramUnranked5x5, CoopVsAI, OdinUnranked, RankedPremade3x3, RankedPremade5x5, RankedSolo5x5, RankedTeam3x3, RankedTeam5x5, Unranked, Unranked3x3, OneForAll5x5, FirstBlood1x1, FirstBlood2x2)
|
23
|
+
# @attr [Hash<String, Fixnum>] aggregatedStats a hash of all stats (key) and their values.
|
24
|
+
class PlayerStatSummary
|
25
|
+
attr_accessor :wins, :losses, :modifyDate, :playerStatSummaryType, :aggregatedStats
|
26
|
+
|
27
|
+
def initialize(data)
|
28
|
+
@wins = data['wins']
|
29
|
+
@losses = data['losses']
|
30
|
+
@modifyDate = data['modifyDate']
|
31
|
+
@playerStatSummaryType = data['playerStatSummaryType']
|
32
|
+
@aggregatedStats = {}
|
33
|
+
stat_keys = data['aggregatedStats'].keys
|
34
|
+
stat_keys.each do |stat|
|
35
|
+
@aggregatedStats[stat] = data['aggregatedStats'][stat]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
39
|
end
|
@@ -1,24 +1,24 @@
|
|
1
|
-
module Sightstone
|
2
|
-
# Ranked stats of a summoner
|
3
|
-
# @attr [Fixnum] modifyDate date of last modification
|
4
|
-
# @attr [Fixnum] summonerId id of the summoner
|
5
|
-
# @attr [Hash<Fixnum, Hash<String, Fixnum>>] champions Statisitc for each champion in a Hash. Each key stands for a champions id (0 is sum of all champs) and returns a Hash<stat, stat_value>.
|
6
|
-
class RankedStats
|
7
|
-
attr_accessor :champions, :modifyDate, :summonerId
|
8
|
-
|
9
|
-
def initialize(data)
|
10
|
-
@summonerId = data['summonerId']
|
11
|
-
@modifyDate = data['modifyDate']
|
12
|
-
@champions = {}
|
13
|
-
|
14
|
-
data['champions'].each do |champ|
|
15
|
-
id = champ['id']
|
16
|
-
@champions[id] = Hash.new unless @champions.has_key? id
|
17
|
-
stat_keys = champ['stats'].keys
|
18
|
-
stat_keys.each do |key|
|
19
|
-
@champions[id][key] = champ['stats'][key]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
1
|
+
module Sightstone
|
2
|
+
# Ranked stats of a summoner
|
3
|
+
# @attr [Fixnum] modifyDate date of last modification
|
4
|
+
# @attr [Fixnum] summonerId id of the summoner
|
5
|
+
# @attr [Hash<Fixnum, Hash<String, Fixnum>>] champions Statisitc for each champion in a Hash. Each key stands for a champions id (0 is sum of all champs) and returns a Hash<stat, stat_value>.
|
6
|
+
class RankedStats
|
7
|
+
attr_accessor :champions, :modifyDate, :summonerId
|
8
|
+
|
9
|
+
def initialize(data)
|
10
|
+
@summonerId = data['summonerId']
|
11
|
+
@modifyDate = data['modifyDate']
|
12
|
+
@champions = {}
|
13
|
+
|
14
|
+
data['champions'].each do |champ|
|
15
|
+
id = champ['id']
|
16
|
+
@champions[id] = Hash.new unless @champions.has_key? id
|
17
|
+
stat_keys = champ['stats'].keys
|
18
|
+
stat_keys.each do |key|
|
19
|
+
@champions[id][key] = champ['stats'][key]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/sightstone/runebook.rb
CHANGED
@@ -1,52 +1,52 @@
|
|
1
|
-
module Sightstone
|
2
|
-
# Class to represent the runebook of a summoner
|
3
|
-
# @attr [Numeric] summonerId id of the summoner
|
4
|
-
# @attr [Array<RunePage>] pages of the runebook
|
5
|
-
class RuneBook
|
6
|
-
attr_accessor :pages, :summonerId
|
7
|
-
|
8
|
-
def initialize(data)
|
9
|
-
@summonerId = data['summonerId']
|
10
|
-
@pages = []
|
11
|
-
data['pages'].each do |page|
|
12
|
-
@pages << RunePage.new(page)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
# Class to represent a page of a runebook
|
18
|
-
# @attr [Numeric] id ID of the page
|
19
|
-
# @attr [String] name page name
|
20
|
-
# @attr [Boolean] current indicates if the page is selected
|
21
|
-
# @attr [Hash<Numeric, Rune>] slots matches slot ids to the rune
|
22
|
-
class RunePage
|
23
|
-
attr_accessor :id, :slots, :name, :current
|
24
|
-
|
25
|
-
def initialize(data)
|
26
|
-
@id = data['id']
|
27
|
-
@name = data['name']
|
28
|
-
@current = data['current']
|
29
|
-
@slots = {}
|
30
|
-
data['slots'].each do |slot|
|
31
|
-
@slots[slot['runeSlotId']] = Rune.new(slot['rune'])
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
# Class to represent a rune
|
38
|
-
# @attr [Numeric] id ID of the rune
|
39
|
-
# @attr [String] description description
|
40
|
-
# @attr [String] name name of the rune
|
41
|
-
# @attr [Numeric] tier rune tier (1,2,3)
|
42
|
-
class Rune
|
43
|
-
attr_accessor :id, :description, :name, :tier
|
44
|
-
|
45
|
-
def initialize(data)
|
46
|
-
@id = data['id']
|
47
|
-
@description = data['description']
|
48
|
-
@name = data['name']
|
49
|
-
@tier = data['tier']
|
50
|
-
end
|
51
|
-
end
|
1
|
+
module Sightstone
|
2
|
+
# Class to represent the runebook of a summoner
|
3
|
+
# @attr [Numeric] summonerId id of the summoner
|
4
|
+
# @attr [Array<RunePage>] pages of the runebook
|
5
|
+
class RuneBook
|
6
|
+
attr_accessor :pages, :summonerId
|
7
|
+
|
8
|
+
def initialize(data)
|
9
|
+
@summonerId = data['summonerId']
|
10
|
+
@pages = []
|
11
|
+
data['pages'].each do |page|
|
12
|
+
@pages << RunePage.new(page)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
# Class to represent a page of a runebook
|
18
|
+
# @attr [Numeric] id ID of the page
|
19
|
+
# @attr [String] name page name
|
20
|
+
# @attr [Boolean] current indicates if the page is selected
|
21
|
+
# @attr [Hash<Numeric, Rune>] slots matches slot ids to the rune
|
22
|
+
class RunePage
|
23
|
+
attr_accessor :id, :slots, :name, :current
|
24
|
+
|
25
|
+
def initialize(data)
|
26
|
+
@id = data['id']
|
27
|
+
@name = data['name']
|
28
|
+
@current = data['current']
|
29
|
+
@slots = {}
|
30
|
+
data['slots'].each do |slot|
|
31
|
+
@slots[slot['runeSlotId']] = Rune.new(slot['rune'])
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
# Class to represent a rune
|
38
|
+
# @attr [Numeric] id ID of the rune
|
39
|
+
# @attr [String] description description
|
40
|
+
# @attr [String] name name of the rune
|
41
|
+
# @attr [Numeric] tier rune tier (1,2,3)
|
42
|
+
class Rune
|
43
|
+
attr_accessor :id, :description, :name, :tier
|
44
|
+
|
45
|
+
def initialize(data)
|
46
|
+
@id = data['id']
|
47
|
+
@description = data['description']
|
48
|
+
@name = data['name']
|
49
|
+
@tier = data['tier']
|
50
|
+
end
|
51
|
+
end
|
52
52
|
end
|
data/lib/sightstone/summoner.rb
CHANGED
@@ -1,23 +1,23 @@
|
|
1
|
-
module Sightstone
|
2
|
-
# Class to represent a summoner
|
3
|
-
# @attr [String] name name
|
4
|
-
# @attr [Long] id summoner id (used for other calls)
|
5
|
-
# @attr [Integer] profileIconId profile icon id of the summoner
|
6
|
-
# @attr [long] revisionDate timestamp of latest data change
|
7
|
-
# @attr [Integer] level summoner level
|
8
|
-
class Summoner
|
9
|
-
|
10
|
-
attr_accessor :name, :id, :profileIconId, :revisionDate, :level
|
11
|
-
|
12
|
-
# @param data [Hash] json hash representation of the summoner
|
13
|
-
def initialize(data)
|
14
|
-
@name = data['name']
|
15
|
-
@id = data['id']
|
16
|
-
@profileIconId = data['profileIconId']
|
17
|
-
@revisionDate = data['revisionDate']
|
18
|
-
@level = data['summonerLevel']
|
19
|
-
end
|
20
|
-
|
21
|
-
|
22
|
-
end
|
1
|
+
module Sightstone
|
2
|
+
# Class to represent a summoner
|
3
|
+
# @attr [String] name name
|
4
|
+
# @attr [Long] id summoner id (used for other calls)
|
5
|
+
# @attr [Integer] profileIconId profile icon id of the summoner
|
6
|
+
# @attr [long] revisionDate timestamp of latest data change
|
7
|
+
# @attr [Integer] level summoner level
|
8
|
+
class Summoner
|
9
|
+
|
10
|
+
attr_accessor :name, :id, :profileIconId, :revisionDate, :level
|
11
|
+
|
12
|
+
# @param data [Hash] json hash representation of the summoner
|
13
|
+
def initialize(data)
|
14
|
+
@name = data['name']
|
15
|
+
@id = data['id']
|
16
|
+
@profileIconId = data['profileIconId']
|
17
|
+
@revisionDate = data['revisionDate']
|
18
|
+
@level = data['summonerLevel']
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
end
|
23
23
|
end
|
data/lib/sightstone/team.rb
CHANGED
@@ -1,117 +1,117 @@
|
|
1
|
-
module Sightstone
|
2
|
-
# A Team
|
3
|
-
# @attr [Fixnum] createDate UNIX timestamp of team creation
|
4
|
-
# @attr [String] fullId id of the team
|
5
|
-
# @attr [Fixnum] lastGameDate UNIX timespamp of last game
|
6
|
-
# @attr [Fixnum] lastJoinDate UNIX timestamp of the date where the newest player joined the team
|
7
|
-
# @attr [Fixnum] lastJoinedRankedTeamQueueDate UNIX timestamp of latest team game
|
8
|
-
# @attr [Array<TeamHistoryGame>] matchHistory List of latest games
|
9
|
-
# @attr [Fixnum] modifyDate UNIX timestamp of latest team modification
|
10
|
-
# @attr [String] name team name
|
11
|
-
# @attr [Roster] roster team roster
|
12
|
-
# @attr [Fixnum] secondLastJoinDate UNIX timestamp of second latest join date of a member
|
13
|
-
# @attr [String] status team status
|
14
|
-
# @attr [String] tag tag of the team
|
15
|
-
# @attr [Array<TeamStat>] teamStatSummary array containing the stats of the team
|
16
|
-
# @attr [Fixnum] thridLastJoinDate UNIX timestamp of third latest join date of a member
|
17
|
-
class Team
|
18
|
-
attr_accessor :teamStatSummary, :status, :tag, :roster, :lastGameDate, :modifyDate, :teamId, :lastJoinDate, :secondLastJoinDate, :matchHistory, :lastJoinedRankedTeamQueueDate, :name, :thirdLastJoinDate, :createDate
|
19
|
-
def initialize(data)
|
20
|
-
@status = data['status']
|
21
|
-
@tag = data['tag']
|
22
|
-
@roster = Roster.new(data['roster'])
|
23
|
-
@lastGameDate = data['lastGameDate']
|
24
|
-
@modifyDate = data['modifyDate']
|
25
|
-
@teamId = data['fullId']
|
26
|
-
@lastJoinDate = data['lastJoinDate']
|
27
|
-
@secondLastJoinDate = data['secondLastJoinDate']
|
28
|
-
@matchHistory = []
|
29
|
-
data['matchHistory'].each do |game|
|
30
|
-
matchHistory << TeamHistoryGame.new(game)
|
31
|
-
end
|
32
|
-
@lastJoinedRankedTeamQueueDate=data['lastJoinedRankedTeamQueueDate']
|
33
|
-
@name = data['name']
|
34
|
-
@thirdLastJoinDate = data['thirdLastJoinDate']
|
35
|
-
@createDate = data['createDate']
|
36
|
-
@teamStatSummary = []
|
37
|
-
data['teamStatSummary']['teamStatDetails'].each do |detail|
|
38
|
-
teamStatSummary << TeamStat.new(detail)
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
# class to represent the roster of a team
|
45
|
-
# @attr [Fixnum] ownerId summoner ID of the team owner
|
46
|
-
# @attr [Array<Member>] memberList list of all team members
|
47
|
-
class Roster
|
48
|
-
attr_accessor :ownerId, :memberList
|
49
|
-
def initialize(data)
|
50
|
-
@ownerId = data['ownerId']
|
51
|
-
@memberList = []
|
52
|
-
data['memberList'].each do |m|
|
53
|
-
memberList << Member.new(m)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
# member of a team
|
59
|
-
# @attr [Fixnum] joinDate UNIX timestamp of join date
|
60
|
-
# @attr [Fixnum] inviteDate UNIX timestamp of invitation date
|
61
|
-
# @attr [String] status status of the team member
|
62
|
-
# @attr [Fixnum] playerId summoner ID of the member
|
63
|
-
class Member
|
64
|
-
attr_accessor :joinDate, :inviteDate, :status, :playerId
|
65
|
-
def initialize(data)
|
66
|
-
@joinDate = data['joinDate']
|
67
|
-
@inviteDate = data['inviteDate']
|
68
|
-
@status = data['status']
|
69
|
-
@playerId = data['playerId']
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
# statistical overview of a team
|
74
|
-
# @attr [Fixnum] wins number of won games
|
75
|
-
# @attr [Fixnum] losses number of lost games
|
76
|
-
# @attr [Fixnum] averageFamesPlayed average played games of member
|
77
|
-
# @attr [String] fullId id of the team
|
78
|
-
# @attr [String] teamStatType queue of the stat
|
79
|
-
class TeamStat
|
80
|
-
attr_accessor :wins, :losses, :averageGamesPlayed, :fullId, :teamStatType
|
81
|
-
def initialize(data)
|
82
|
-
@wins = data['wins']
|
83
|
-
@losses = data['losses']
|
84
|
-
@averageGamesPlayed = data['averageGamesPlayed']
|
85
|
-
@fullId = data['fullId']
|
86
|
-
@teamStatType = data['teamStatType']
|
87
|
-
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
# Recent game of a team
|
92
|
-
# @attr [Fixnum] gameMode mode of the game
|
93
|
-
# @attr [Fixnum] mapId ID of the map
|
94
|
-
# @attr [Fixnum] assists assists of the team
|
95
|
-
# @attr [String] opposingTeamName name of the enemy team
|
96
|
-
# @attr [Boolean] invalid Invalid flag # TODO what is this?
|
97
|
-
# @attr [Fixnum] deaths number of deaths summed over all players of the team
|
98
|
-
# @attr [Boolean] win true if game has been won by the team
|
99
|
-
# @attr [Fixnum] opposingTeamKills number of kills of the enemy team
|
100
|
-
# @attr [Fixnum] gameId ID of the game
|
101
|
-
# @attr [Fixnum] kills kills of the team
|
102
|
-
class TeamHistoryGame
|
103
|
-
attr_accessor :gameMode, :mapId, :assists, :opposingTeamName, :invalid, :deaths, :gameId, :kills, :win, :opposingTeamKills
|
104
|
-
def initialize(data)
|
105
|
-
@gameMode = data['gameMode']
|
106
|
-
@mapId = data['mapId']
|
107
|
-
@assists = data['assists']
|
108
|
-
@opposingTeamName = data['opposingTeamName']
|
109
|
-
@invalid = data['invalid']
|
110
|
-
@deaths = data['deaths']
|
111
|
-
@gameId = data['gameId']
|
112
|
-
@kills = data['kills']
|
113
|
-
@win = data['win']
|
114
|
-
@opposingTeamKills = data['opposingTeamKills']
|
115
|
-
end
|
116
|
-
end
|
1
|
+
module Sightstone
|
2
|
+
# A Team
|
3
|
+
# @attr [Fixnum] createDate UNIX timestamp of team creation
|
4
|
+
# @attr [String] fullId id of the team
|
5
|
+
# @attr [Fixnum] lastGameDate UNIX timespamp of last game
|
6
|
+
# @attr [Fixnum] lastJoinDate UNIX timestamp of the date where the newest player joined the team
|
7
|
+
# @attr [Fixnum] lastJoinedRankedTeamQueueDate UNIX timestamp of latest team game
|
8
|
+
# @attr [Array<TeamHistoryGame>] matchHistory List of latest games
|
9
|
+
# @attr [Fixnum] modifyDate UNIX timestamp of latest team modification
|
10
|
+
# @attr [String] name team name
|
11
|
+
# @attr [Roster] roster team roster
|
12
|
+
# @attr [Fixnum] secondLastJoinDate UNIX timestamp of second latest join date of a member
|
13
|
+
# @attr [String] status team status
|
14
|
+
# @attr [String] tag tag of the team
|
15
|
+
# @attr [Array<TeamStat>] teamStatSummary array containing the stats of the team
|
16
|
+
# @attr [Fixnum] thridLastJoinDate UNIX timestamp of third latest join date of a member
|
17
|
+
class Team
|
18
|
+
attr_accessor :teamStatSummary, :status, :tag, :roster, :lastGameDate, :modifyDate, :teamId, :lastJoinDate, :secondLastJoinDate, :matchHistory, :lastJoinedRankedTeamQueueDate, :name, :thirdLastJoinDate, :createDate
|
19
|
+
def initialize(data)
|
20
|
+
@status = data['status']
|
21
|
+
@tag = data['tag']
|
22
|
+
@roster = Roster.new(data['roster'])
|
23
|
+
@lastGameDate = data['lastGameDate']
|
24
|
+
@modifyDate = data['modifyDate']
|
25
|
+
@teamId = data['fullId']
|
26
|
+
@lastJoinDate = data['lastJoinDate']
|
27
|
+
@secondLastJoinDate = data['secondLastJoinDate']
|
28
|
+
@matchHistory = []
|
29
|
+
data['matchHistory'].each do |game|
|
30
|
+
matchHistory << TeamHistoryGame.new(game)
|
31
|
+
end
|
32
|
+
@lastJoinedRankedTeamQueueDate=data['lastJoinedRankedTeamQueueDate']
|
33
|
+
@name = data['name']
|
34
|
+
@thirdLastJoinDate = data['thirdLastJoinDate']
|
35
|
+
@createDate = data['createDate']
|
36
|
+
@teamStatSummary = []
|
37
|
+
data['teamStatSummary']['teamStatDetails'].each do |detail|
|
38
|
+
teamStatSummary << TeamStat.new(detail)
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# class to represent the roster of a team
|
45
|
+
# @attr [Fixnum] ownerId summoner ID of the team owner
|
46
|
+
# @attr [Array<Member>] memberList list of all team members
|
47
|
+
class Roster
|
48
|
+
attr_accessor :ownerId, :memberList
|
49
|
+
def initialize(data)
|
50
|
+
@ownerId = data['ownerId']
|
51
|
+
@memberList = []
|
52
|
+
data['memberList'].each do |m|
|
53
|
+
memberList << Member.new(m)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# member of a team
|
59
|
+
# @attr [Fixnum] joinDate UNIX timestamp of join date
|
60
|
+
# @attr [Fixnum] inviteDate UNIX timestamp of invitation date
|
61
|
+
# @attr [String] status status of the team member
|
62
|
+
# @attr [Fixnum] playerId summoner ID of the member
|
63
|
+
class Member
|
64
|
+
attr_accessor :joinDate, :inviteDate, :status, :playerId
|
65
|
+
def initialize(data)
|
66
|
+
@joinDate = data['joinDate']
|
67
|
+
@inviteDate = data['inviteDate']
|
68
|
+
@status = data['status']
|
69
|
+
@playerId = data['playerId']
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# statistical overview of a team
|
74
|
+
# @attr [Fixnum] wins number of won games
|
75
|
+
# @attr [Fixnum] losses number of lost games
|
76
|
+
# @attr [Fixnum] averageFamesPlayed average played games of member
|
77
|
+
# @attr [String] fullId id of the team
|
78
|
+
# @attr [String] teamStatType queue of the stat
|
79
|
+
class TeamStat
|
80
|
+
attr_accessor :wins, :losses, :averageGamesPlayed, :fullId, :teamStatType
|
81
|
+
def initialize(data)
|
82
|
+
@wins = data['wins']
|
83
|
+
@losses = data['losses']
|
84
|
+
@averageGamesPlayed = data['averageGamesPlayed']
|
85
|
+
@fullId = data['fullId']
|
86
|
+
@teamStatType = data['teamStatType']
|
87
|
+
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
# Recent game of a team
|
92
|
+
# @attr [Fixnum] gameMode mode of the game
|
93
|
+
# @attr [Fixnum] mapId ID of the map
|
94
|
+
# @attr [Fixnum] assists assists of the team
|
95
|
+
# @attr [String] opposingTeamName name of the enemy team
|
96
|
+
# @attr [Boolean] invalid Invalid flag # TODO what is this?
|
97
|
+
# @attr [Fixnum] deaths number of deaths summed over all players of the team
|
98
|
+
# @attr [Boolean] win true if game has been won by the team
|
99
|
+
# @attr [Fixnum] opposingTeamKills number of kills of the enemy team
|
100
|
+
# @attr [Fixnum] gameId ID of the game
|
101
|
+
# @attr [Fixnum] kills kills of the team
|
102
|
+
class TeamHistoryGame
|
103
|
+
attr_accessor :gameMode, :mapId, :assists, :opposingTeamName, :invalid, :deaths, :gameId, :kills, :win, :opposingTeamKills
|
104
|
+
def initialize(data)
|
105
|
+
@gameMode = data['gameMode']
|
106
|
+
@mapId = data['mapId']
|
107
|
+
@assists = data['assists']
|
108
|
+
@opposingTeamName = data['opposingTeamName']
|
109
|
+
@invalid = data['invalid']
|
110
|
+
@deaths = data['deaths']
|
111
|
+
@gameId = data['gameId']
|
112
|
+
@kills = data['kills']
|
113
|
+
@win = data['win']
|
114
|
+
@opposingTeamKills = data['opposingTeamKills']
|
115
|
+
end
|
116
|
+
end
|
117
117
|
end
|