ruby-lol 0.9.19 → 0.9.19.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bdd190269b98a105083c2ecd5830a8172c5eb2f6
4
- data.tar.gz: 614f0e806ca7d7743921b70065a9ff4db850a621
3
+ metadata.gz: d2e5810cdc643a3af5ec5d4f98cebfbf7b3323e0
4
+ data.tar.gz: 5ba0dad4c6e0368306c3e6f0dde92c5542313866
5
5
  SHA512:
6
- metadata.gz: c4d3dd66a92664d7999e97f3a7e21d72e97fd7a11fdbec7ce45b808f3d497437e50418341656aeb006b90193215eb8ef597ec3c3a629e666952c05ebfdc820b4
7
- data.tar.gz: 0724cb595b4e2edb68b430a76ec4d8b65fcd49652760f524816f757a1aa9b741e6de7ebc22fee811f8869e4647d380bada78c9cf40ad43614c9cd7f22a810d6c
6
+ metadata.gz: 106d3ecba2b42621de02a5618cb68a709f7f4d2c9d820eeca376c225ed7a90da173b5ee3d92100c8e02199d89c3de107416723c940c2e67af672e11d7fef1c4a
7
+ data.tar.gz: 484d91b3d87a6e27fb043c8f66b8d92952d18b9809b9c4c6b7901427e7a42098a5f7cb096bfc96e9c83526f999fd054398c8b4ae9f32a6ad374955425d97fd81
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # ruby-lol
2
- [![Gem Version](https://badge.fury.io/rb/ruby-lol.png)](http://badge.fury.io/rb/ruby-lol) [![Coverage Status](https://coveralls.io/repos/mikamai/ruby-lol/badge.png)](https://coveralls.io/r/mikamai/ruby-lol) [![Build Status](https://travis-ci.org/mikamai/ruby-lol.png?branch=master)](https://travis-ci.org/mikamai/ruby-lol) [![Dependency Status](https://gemnasium.com/mikamai/ruby-lol.png)](https://gemnasium.com/mikamai/ruby-lol)
2
+ [![Gem Version](https://badge.fury.io/rb/ruby-lol.png)](http://badge.fury.io/rb/ruby-lol) [![Coverage Status](https://coveralls.io/repos/mikamai/ruby-lol/badge.png)](https://coveralls.io/r/mikamai/ruby-lol) [![Build Status](https://travis-ci.org/mikamai/ruby-lol.png?branch=master)](https://travis-ci.org/mikamai/ruby-lol) [![Dependency Status](https://gemnasium.com/mikamai/ruby-lol.png)](https://gemnasium.com/mikamai/ruby-lol) [![Inline docs](http://inch-ci.org/github/mikamai/ruby-lol.png?branch=master)](http://inch-ci.org/github/mikamai/ruby-lol)
3
3
 
4
4
 
5
5
  ruby-lol is a wrapper to the [Riot Games API](https://developer.riotgames.com).
data/lib/lol/client.rb CHANGED
@@ -23,6 +23,11 @@ module Lol
23
23
  @game_request ||= GameRequest.new(api_key, region, cache_store)
24
24
  end
25
25
 
26
+ # @return [MatchRequest]
27
+ def match
28
+ @match_request ||= MatchRequest.new(api_key, region, cache_store)
29
+ end
30
+
26
31
  # @return [StatsRequest]
27
32
  def stats
28
33
  @stats_request ||= StatsRequest.new(api_key, region, cache_store)
@@ -48,6 +53,11 @@ module Lol
48
53
  @static_request ||= StaticRequest.new(api_key, region, cache_store)
49
54
  end
50
55
 
56
+ # @return [LolStatusRequest]
57
+ def lol_status
58
+ @lol_status ||= LolStatusRequest.new(region, cache_store)
59
+ end
60
+
51
61
  # Initializes a Lol::Client
52
62
  # @param api_key [String]
53
63
  # @param options [Hash]
@@ -0,0 +1,57 @@
1
+ require 'ostruct'
2
+ require 'active_support/core_ext/string/inflections'
3
+
4
+ # DynamicModel extends OpenStruct adding the following features:
5
+ # - nested generation ({a: {}}) results in DynamicModel(a: DynamicModel)
6
+ # - parsing of date/time when property name ends with _at or _date and the value is a number
7
+ class DynamicModel < OpenStruct
8
+ def initialize(hash={})
9
+ raise ArgumentError, 'An hash is required as parameter' unless hash.is_a? Hash
10
+ @table = {}
11
+ @hash_table = {}
12
+
13
+ hash.each do |k,v|
14
+ key = k.to_s.underscore
15
+ set_property key, v
16
+ new_ostruct_member(key)
17
+ end
18
+ end
19
+
20
+ def to_h
21
+ @hash_table
22
+ end
23
+
24
+ def as_json opts={}
25
+ @table.as_json
26
+ end
27
+
28
+ private
29
+
30
+ def date_key? key
31
+ key.match(/^(.+_)?(at|date)$/)
32
+ end
33
+
34
+ def set_property key, v
35
+ if date_key?(key) && v.is_a?(Fixnum)
36
+ @table[key.to_sym] = @hash_table[key.to_sym] = value_to_date v
37
+ else
38
+ @table[key.to_sym] = convert_object v
39
+ @hash_table[key.to_sym] = v
40
+ end
41
+ end
42
+
43
+ def value_to_date v
44
+ Time.at(v / 1000)
45
+ end
46
+
47
+ def convert_object obj
48
+ if obj.is_a? Hash
49
+ self.class.new obj
50
+ elsif obj.respond_to?(:map)
51
+ obj.map { |o| convert_object o }
52
+ else
53
+ obj
54
+ end
55
+ end
56
+
57
+ end
@@ -37,9 +37,10 @@ module Lol
37
37
  end
38
38
 
39
39
  # Retrieves challenger tier leagues
40
+ # @param [String] game queue type
40
41
  # @return [League]
41
- def challenger
42
- league_json = perform_request(api_url('league/challenger'))
42
+ def challenger(game_queue_type="RANKED_SOLO_5x5")
43
+ league_json = perform_request(api_url('league/challenger', { :type => game_queue_type }))
43
44
  League.new(league_json)
44
45
  end
45
46
 
@@ -0,0 +1,34 @@
1
+ module Lol
2
+ class LolStatusRequest < Request
3
+
4
+ def self.api_version
5
+ "v1.0"
6
+ end
7
+
8
+ def initialize region = nil, cache_store = {}
9
+ super nil, region, cache_store
10
+ end
11
+
12
+ # Returns a list of each shard status
13
+ # This special call works against all regions
14
+ # @return [Array] an array of DynamicModel representing the response
15
+ def shards
16
+ perform_request(api_url('shards')).map do |shard_data|
17
+ DynamicModel.new shard_data
18
+ end
19
+ end
20
+
21
+ # Returns a detailed status of the current shard
22
+ # @return [DynamicModel]
23
+ def current_shard
24
+ shard_data = perform_request(api_url('shards', region))
25
+ DynamicModel.new shard_data
26
+ end
27
+
28
+ def api_url path, params = {}
29
+ "http://status.leagueoflegends.com/#{path}".tap do |url|
30
+ url << "/#{params}" unless params.empty?
31
+ end
32
+ end
33
+ end
34
+ end
@@ -6,5 +6,11 @@ module Lol
6
6
  "v2.2"
7
7
  end
8
8
 
9
+ # Returns a match with the given id
10
+ # @param match_id [Fixnum] Match ID
11
+ # @return [Hash] match object
12
+ def get match_id
13
+ perform_request(api_url("match/#{match_id}"))
14
+ end
9
15
  end
10
16
  end
data/lib/lol/request.rb CHANGED
@@ -34,7 +34,7 @@ module Lol
34
34
  # @return [String] full fledged url
35
35
  def api_url path, params = {}
36
36
  query_string = URI.encode_www_form params.merge api_key: api_key
37
- File.join "http://#{region}.api.pvp.net/api/lol/#{region}/#{self.class.api_version}/", "#{path}?#{query_string}"
37
+ File.join "https://#{region}.api.pvp.net/api/lol/#{region}/#{self.class.api_version}/", "#{path}?#{query_string}"
38
38
  end
39
39
 
40
40
  # Returns just a path from a full api url
@@ -11,7 +11,10 @@ module Lol
11
11
  def by_summoner *summoner_ids
12
12
  returns = {}
13
13
  perform_request(api_url "team/by-summoner/#{summoner_ids.join(",")}").each do |s, t|
14
- returns[s] = Team.new t
14
+ returns[s] = []
15
+ t.each do |team|
16
+ returns[s] << Team.new(team)
17
+ end
15
18
  end
16
19
  returns
17
20
  end
data/lib/lol/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lol
2
- VERSION = "0.9.19"
2
+ VERSION = "0.9.19.1"
3
3
  end
@@ -10,13 +10,14 @@ describe "Live API testing", :remote => true do
10
10
  end
11
11
  end
12
12
 
13
- let(:api_key) { ENV['RIOT_GAMES_NEW_KEY'] }
14
- subject { Lol::Client.new api_key }
13
+ let(:api_key) { ENV['RIOT_GAMES_API_KEY'] }
14
+ subject { Lol::Client.new api_key }
15
+ let(:fallback) { Lol::Client.new ENV['RIOT_GAMES_NEW_KEY'] }
15
16
 
16
17
  # @TODO: Maybe have aliases with singular / plural names so I can do subject.champions?
17
18
  let (:champions) { subject.champion.get }
18
19
  let (:intinig) { subject.summoner.by_name("intinig").first }
19
- let (:team) { subject.team.by_summoner(intinig.id).first }
20
+ let (:team) { fallback.team.by_summoner(intinig.id).first }
20
21
 
21
22
  describe "champion" do
22
23
  it "works on the collection" do
@@ -30,21 +31,21 @@ describe "Live API testing", :remote => true do
30
31
 
31
32
  describe "game" do
32
33
  it "works on recent games for a summoner" do
33
- expect {subject.game.recent intinig.id}.not_to raise_error
34
+ expect {fallback.game.recent intinig.id}.not_to raise_error
34
35
  end
35
36
  end
36
37
 
37
38
  describe "league" do
38
39
  it "works with get" do
39
- expect {subject.league.get intinig.id}.not_to raise_error
40
+ expect {fallback.league.get intinig.id}.not_to raise_error
40
41
  end
41
42
 
42
43
  it "works with entries" do
43
- expect {subject.league.get_entries intinig.id}.not_to raise_error
44
+ expect {fallback.league.get_entries intinig.id}.not_to raise_error
44
45
  end
45
46
 
46
47
  it "works with teams" do
47
- expect {subject.league.by_team team.id}.not_to raise_error
48
+ expect {fallback.league.by_team team.id}.not_to raise_error
48
49
  end
49
50
  end
50
51
 
@@ -0,0 +1,39 @@
1
+ {
2
+ "region_tag": "eu",
3
+ "services": [
4
+ {
5
+ "incidents": [],
6
+ "status": "online",
7
+ "name": "Forums",
8
+ "slug": "forums"
9
+ },
10
+ {
11
+ "incidents": [],
12
+ "status": "online",
13
+ "name": "Game",
14
+ "slug": "game"
15
+ },
16
+ {
17
+ "incidents": [],
18
+ "status": "online",
19
+ "name": "Store",
20
+ "slug": "store"
21
+ },
22
+ {
23
+ "incidents": [],
24
+ "status": "online",
25
+ "name": "Website",
26
+ "slug": "web"
27
+ }
28
+ ],
29
+ "locales": [
30
+ "en_GB",
31
+ "de_DE",
32
+ "es_ES",
33
+ "fr_FR",
34
+ "it_IT"
35
+ ],
36
+ "name": "EU West",
37
+ "hostname": "prod.euw1.lol.riotgames.com",
38
+ "slug": "euw"
39
+ }
@@ -0,0 +1,78 @@
1
+ [
2
+ {
3
+ "region_tag": "na1",
4
+ "locales": ["en_US"],
5
+ "name": "North America",
6
+ "hostname": "prod.na1.lol.riotgames.com",
7
+ "slug": "na"
8
+ },
9
+ {
10
+ "region_tag": "eu",
11
+ "locales": [
12
+ "en_GB",
13
+ "de_DE",
14
+ "es_ES",
15
+ "fr_FR",
16
+ "it_IT"
17
+ ],
18
+ "name": "EU West",
19
+ "hostname": "prod.euw1.lol.riotgames.com",
20
+ "slug": "euw"
21
+ },
22
+ {
23
+ "region_tag": "eun1",
24
+ "locales": [
25
+ "en_PL",
26
+ "pl_PL",
27
+ "el_GR",
28
+ "ro_RO",
29
+ "cs_CZ",
30
+ "hu_HU"
31
+ ],
32
+ "name": "EU Nordic & East",
33
+ "hostname": "prod.eun1.lol.riotgames.com",
34
+ "slug": "eune"
35
+ },
36
+ {
37
+ "region_tag": "la1",
38
+ "locales": ["es_MX"],
39
+ "name": "Latin America North",
40
+ "hostname": "prod.la1.lol.riotgames.com",
41
+ "slug": "lan"
42
+ },
43
+ {
44
+ "region_tag": "la2",
45
+ "locales": ["es_AR"],
46
+ "name": "Latin America South",
47
+ "hostname": "prod.la2.lol.riotgames.com",
48
+ "slug": "las"
49
+ },
50
+ {
51
+ "region_tag": null,
52
+ "locales": ["pt_BR"],
53
+ "name": "Brazil",
54
+ "hostname": "prod.br.lol.riotgames.com",
55
+ "slug": "br"
56
+ },
57
+ {
58
+ "region_tag": null,
59
+ "locales": ["tr_TR"],
60
+ "name": "Turkey",
61
+ "hostname": "prod.tr.lol.riotgames.com",
62
+ "slug": "tr"
63
+ },
64
+ {
65
+ "region_tag": null,
66
+ "locales": ["ru_RU"],
67
+ "name": "Russia",
68
+ "hostname": "prod.ru.lol.riotgames.com",
69
+ "slug": "ru"
70
+ },
71
+ {
72
+ "region_tag": "oc1",
73
+ "locales": ["en_AU"],
74
+ "name": "Oceania",
75
+ "hostname": "prod.oc1.lol.riotgames.com",
76
+ "slug": "oce"
77
+ }
78
+ ]
@@ -0,0 +1 @@
1
+ {"matchId":1565627307,"region":"EUW","matchMode":"CLASSIC","matchType":"MATCHED_GAME","matchCreation":1404941149089,"matchDuration":1916,"queueType":"RANKED_SOLO_5x5","mapId":1,"season":"SEASON2014","matchVersion":"4.11.0.399","participants":[{"participantId":1,"teamId":100,"championId":33,"spell1Id":4,"spell2Id":11,"stats":{"winner":false,"champLevel":13,"item0":3207,"item1":3117,"item2":3082,"item3":3105,"item4":0,"item5":0,"item6":3340,"kills":1,"doubleKills":0,"tripleKills":0,"quadraKills":0,"pentaKills":0,"unrealKills":0,"largestKillingSpree":0,"deaths":12,"assists":5,"totalDamageDealt":92527,"totalDamageDealtToChampions":7869,"totalDamageTaken":31048,"largestCriticalStrike":0,"totalHeal":0,"minionsKilled":23,"neutralMinionsKilled":67,"neutralMinionsKilledTeamJungle":63,"neutralMinionsKilledEnemyJungle":4,"goldEarned":7759,"goldSpent":6400,"combatPlayerScore":0,"objectivePlayerScore":0,"totalPlayerScore":0,"totalScoreRank":0,"magicDamageDealtToChampions":6696,"physicalDamageDealtToChampions":1092,"trueDamageDealtToChampions":80,"visionWardsBoughtInGame":0,"sightWardsBoughtInGame":0,"magicDamageDealt":41674,"physicalDamageDealt":28337,"trueDamageDealt":22514,"magicDamageTaken":4629,"physicalDamageTaken":24083,"trueDamageTaken":2335,"firstBloodKill":false,"firstBloodAssist":false,"firstTowerKill":false,"firstTowerAssist":false,"firstInhibitorKill":false,"firstInhibitorAssist":false,"inhibitorKills":0,"towerKills":0,"wardsPlaced":10,"wardsKilled":0,"largestMultiKill":1,"killingSprees":0,"totalUnitsHealed":0,"totalTimeCrowdControlDealt":676},"timeline":{"creepsPerMinDeltas":{"zeroToTen":0.1,"tenToTwenty":0.8,"twentyToThirty":1.4},"xpPerMinDeltas":{"zeroToTen":352.1,"tenToTwenty":328.20000000000005,"twentyToThirty":326.20000000000005},"goldPerMinDeltas":{"zeroToTen":168.0,"tenToTwenty":247.8,"twentyToThirty":230.89999999999998},"csDiffPerMinDeltas":{"zeroToTen":-0.1,"tenToTwenty":-0.19999999999999996,"twentyToThirty":-0.7000000000000001},"xpDiffPerMinDeltas":{"zeroToTen":-0.700000000000017,"tenToTwenty":-100.89999999999998,"twentyToThirty":-375.9},"damageTakenPerMinDeltas":{"zeroToTen":394.29999999999995,"tenToTwenty":956.4000000000001,"twentyToThirty":1265.6},"damageTakenDiffPerMinDeltas":{"zeroToTen":7.599999999999994,"tenToTwenty":374.20000000000005,"twentyToThirty":475.4999999999999},"role":"NONE","lane":"JUNGLE"}},{"participantId":2,"teamId":100,"championId":55,"spell1Id":4,"spell2Id":14,"stats":{"winner":false,"champLevel":15,"item0":3255,"item1":3089,"item2":1057,"item3":3135,"item4":2003,"item5":1026,"item6":3340,"kills":7,"doubleKills":3,"tripleKills":0,"quadraKills":0,"pentaKills":0,"unrealKills":0,"largestKillingSpree":4,"deaths":11,"assists":1,"totalDamageDealt":112636,"totalDamageDealtToChampions":22580,"totalDamageTaken":22894,"largestCriticalStrike":0,"totalHeal":422,"minionsKilled":163,"neutralMinionsKilled":7,"neutralMinionsKilledTeamJungle":7,"neutralMinionsKilledEnemyJungle":0,"goldEarned":10406,"goldSpent":9205,"combatPlayerScore":0,"objectivePlayerScore":0,"totalPlayerScore":0,"totalScoreRank":0,"magicDamageDealtToChampions":21615,"physicalDamageDealtToChampions":570,"trueDamageDealtToChampions":394,"visionWardsBoughtInGame":0,"sightWardsBoughtInGame":0,"magicDamageDealt":103700,"physicalDamageDealt":8477,"trueDamageDealt":458,"magicDamageTaken":6020,"physicalDamageTaken":15774,"trueDamageTaken":1098,"firstBloodKill":false,"firstBloodAssist":false,"firstTowerKill":false,"firstTowerAssist":false,"firstInhibitorKill":false,"firstInhibitorAssist":false,"inhibitorKills":0,"towerKills":0,"wardsPlaced":7,"wardsKilled":1,"largestMultiKill":2,"killingSprees":2,"totalUnitsHealed":1,"totalTimeCrowdControlDealt":15},"timeline":{"creepsPerMinDeltas":{"zeroToTen":6.4,"tenToTwenty":6.0,"twentyToThirty":3.3},"xpPerMinDeltas":{"zeroToTen":416.0,"tenToTwenty":387.9,"twentyToThirty":444.8},"goldPerMinDeltas":{"zeroToTen":212.2,"tenToTwenty":352.0,"twentyToThirty":360.1},"csDiffPerMinDeltas":{"zeroToTen":1.0,"tenToTwenty":0.5999999999999999,"twentyToThirty":-2.3},"xpDiffPerMinDeltas":{"zeroToTen":-2.3000000000000114,"tenToTwenty":-74.6,"twentyToThirty":-170.2},"damageTakenPerMinDeltas":{"zeroToTen":267.4,"tenToTwenty":565.5,"twentyToThirty":1087.8},"damageTakenDiffPerMinDeltas":{"zeroToTen":84.3,"tenToTwenty":71.20000000000002,"twentyToThirty":714.4},"role":"SOLO","lane":"MIDDLE"}},{"participantId":3,"teamId":100,"championId":86,"spell1Id":4,"spell2Id":12,"stats":{"winner":false,"champLevel":16,"item0":1054,"item1":3068,"item2":3047,"item3":3143,"item4":1057,"item5":0,"item6":3340,"kills":0,"doubleKills":0,"tripleKills":0,"quadraKills":0,"pentaKills":0,"unrealKills":0,"largestKillingSpree":0,"deaths":3,"assists":3,"totalDamageDealt":101171,"totalDamageDealtToChampions":7007,"totalDamageTaken":21456,"largestCriticalStrike":0,"totalHeal":1809,"minionsKilled":194,"neutralMinionsKilled":0,"neutralMinionsKilledTeamJungle":0,"neutralMinionsKilledEnemyJungle":0,"goldEarned":8613,"goldSpent":8020,"combatPlayerScore":0,"objectivePlayerScore":0,"totalPlayerScore":0,"totalScoreRank":0,"magicDamageDealtToChampions":2189,"physicalDamageDealtToChampions":4818,"trueDamageDealtToChampions":0,"visionWardsBoughtInGame":0,"sightWardsBoughtInGame":0,"magicDamageDealt":22904,"physicalDamageDealt":78267,"trueDamageDealt":0,"magicDamageTaken":2641,"physicalDamageTaken":17794,"trueDamageTaken":1020,"firstBloodKill":false,"firstBloodAssist":false,"firstTowerKill":false,"firstTowerAssist":false,"firstInhibitorKill":false,"firstInhibitorAssist":false,"inhibitorKills":0,"towerKills":1,"wardsPlaced":6,"wardsKilled":0,"largestMultiKill":0,"killingSprees":0,"totalUnitsHealed":1,"totalTimeCrowdControlDealt":297},"timeline":{"creepsPerMinDeltas":{"zeroToTen":4.5,"tenToTwenty":6.3,"twentyToThirty":7.6},"xpPerMinDeltas":{"zeroToTen":423.8,"tenToTwenty":551.6,"twentyToThirty":471.7},"goldPerMinDeltas":{"zeroToTen":178.0,"tenToTwenty":288.9,"twentyToThirty":305.1},"csDiffPerMinDeltas":{"zeroToTen":0.20000000000000018,"tenToTwenty":1.6999999999999997,"twentyToThirty":3.4},"xpDiffPerMinDeltas":{"zeroToTen":61.400000000000006,"tenToTwenty":110.99999999999997,"twentyToThirty":27.80000000000001},"damageTakenPerMinDeltas":{"zeroToTen":234.79999999999998,"tenToTwenty":739.2,"twentyToThirty":830.5},"damageTakenDiffPerMinDeltas":{"zeroToTen":28.799999999999997,"tenToTwenty":230.90000000000006,"twentyToThirty":117.20000000000002},"role":"SOLO","lane":"TOP"}},{"participantId":4,"teamId":100,"championId":25,"spell1Id":4,"spell2Id":3,"stats":{"winner":false,"champLevel":12,"item0":3092,"item1":2049,"item2":3009,"item3":1052,"item4":1026,"item5":1011,"item6":3340,"kills":1,"doubleKills":0,"tripleKills":0,"quadraKills":0,"pentaKills":0,"unrealKills":0,"largestKillingSpree":0,"deaths":11,"assists":7,"totalDamageDealt":23576,"totalDamageDealtToChampions":10264,"totalDamageTaken":23399,"largestCriticalStrike":0,"totalHeal":60,"minionsKilled":22,"neutralMinionsKilled":0,"neutralMinionsKilledTeamJungle":0,"neutralMinionsKilledEnemyJungle":0,"goldEarned":8120,"goldSpent":6545,"combatPlayerScore":0,"objectivePlayerScore":0,"totalPlayerScore":0,"totalScoreRank":0,"magicDamageDealtToChampions":9160,"physicalDamageDealtToChampions":1103,"trueDamageDealtToChampions":0,"visionWardsBoughtInGame":0,"sightWardsBoughtInGame":1,"magicDamageDealt":18008,"physicalDamageDealt":5567,"trueDamageDealt":0,"magicDamageTaken":6657,"physicalDamageTaken":16331,"trueDamageTaken":411,"firstBloodKill":false,"firstBloodAssist":false,"firstTowerKill":false,"firstTowerAssist":false,"firstInhibitorKill":false,"firstInhibitorAssist":false,"inhibitorKills":0,"towerKills":0,"wardsPlaced":21,"wardsKilled":1,"largestMultiKill":1,"killingSprees":0,"totalUnitsHealed":1,"totalTimeCrowdControlDealt":132},"timeline":{"creepsPerMinDeltas":{"zeroToTen":0.4,"tenToTwenty":0.7,"twentyToThirty":0.9},"xpPerMinDeltas":{"zeroToTen":288.7,"tenToTwenty":271.0,"twentyToThirty":331.2},"goldPerMinDeltas":{"zeroToTen":215.20000000000002,"tenToTwenty":234.7,"twentyToThirty":271.1},"csDiffPerMinDeltas":{"zeroToTen":-0.45000000000000007,"tenToTwenty":-0.9999999999999998,"twentyToThirty":-2.25},"xpDiffPerMinDeltas":{"zeroToTen":46.349999999999994,"tenToTwenty":-79.89999999999998,"twentyToThirty":-277.35},"damageTakenPerMinDeltas":{"zeroToTen":314.8,"tenToTwenty":639.9,"twentyToThirty":1122.9},"damageTakenDiffPerMinDeltas":{"zeroToTen":-13.999999999999986,"tenToTwenty":88.95000000000005,"twentyToThirty":-50.64999999999998},"role":"DUO_SUPPORT","lane":"BOTTOM"}},{"participantId":5,"teamId":100,"championId":18,"spell1Id":7,"spell2Id":4,"stats":{"winner":false,"champLevel":15,"item0":3250,"item1":3153,"item2":3046,"item3":1055,"item4":1038,"item5":1037,"item6":3340,"kills":6,"doubleKills":0,"tripleKills":0,"quadraKills":0,"pentaKills":0,"unrealKills":0,"largestKillingSpree":6,"deaths":4,"assists":4,"totalDamageDealt":121512,"totalDamageDealtToChampions":15938,"totalDamageTaken":21045,"largestCriticalStrike":398,"totalHeal":1978,"minionsKilled":184,"neutralMinionsKilled":17,"neutralMinionsKilledTeamJungle":17,"neutralMinionsKilledEnemyJungle":0,"goldEarned":10924,"goldSpent":10755,"combatPlayerScore":0,"objectivePlayerScore":0,"totalPlayerScore":0,"totalScoreRank":0,"magicDamageDealtToChampions":5057,"physicalDamageDealtToChampions":10881,"trueDamageDealtToChampions":0,"visionWardsBoughtInGame":1,"sightWardsBoughtInGame":0,"magicDamageDealt":31892,"physicalDamageDealt":89619,"trueDamageDealt":0,"magicDamageTaken":5967,"physicalDamageTaken":14620,"trueDamageTaken":457,"firstBloodKill":false,"firstBloodAssist":false,"firstTowerKill":false,"firstTowerAssist":false,"firstInhibitorKill":false,"firstInhibitorAssist":false,"inhibitorKills":0,"towerKills":1,"wardsPlaced":4,"wardsKilled":2,"largestMultiKill":1,"killingSprees":1,"totalUnitsHealed":2,"totalTimeCrowdControlDealt":34},"timeline":{"creepsPerMinDeltas":{"zeroToTen":5.7,"tenToTwenty":6.2,"twentyToThirty":5.300000000000001},"xpPerMinDeltas":{"zeroToTen":353.9,"tenToTwenty":470.79999999999995,"twentyToThirty":450.0},"goldPerMinDeltas":{"zeroToTen":317.1,"tenToTwenty":346.1,"twentyToThirty":325.4},"csDiffPerMinDeltas":{"zeroToTen":-0.45000000000000007,"tenToTwenty":-0.9999999999999998,"twentyToThirty":-2.25},"xpDiffPerMinDeltas":{"zeroToTen":46.349999999999994,"tenToTwenty":-79.89999999999998,"twentyToThirty":-277.35},"damageTakenPerMinDeltas":{"zeroToTen":327.5,"tenToTwenty":706.8,"twentyToThirty":804.3},"damageTakenDiffPerMinDeltas":{"zeroToTen":-13.999999999999986,"tenToTwenty":88.95000000000005,"twentyToThirty":-50.64999999999998},"role":"DUO_CARRY","lane":"BOTTOM"}},{"participantId":6,"teamId":200,"championId":254,"spell1Id":4,"spell2Id":11,"stats":{"winner":true,"champLevel":16,"item0":3078,"item1":3209,"item2":3111,"item3":3074,"item4":1038,"item5":0,"item6":3340,"kills":15,"doubleKills":3,"tripleKills":1,"quadraKills":0,"pentaKills":0,"unrealKills":0,"largestKillingSpree":11,"deaths":3,"assists":14,"totalDamageDealt":133666,"totalDamageDealtToChampions":23432,"totalDamageTaken":20007,"largestCriticalStrike":824,"totalHeal":2725,"minionsKilled":39,"neutralMinionsKilled":72,"neutralMinionsKilledTeamJungle":66,"neutralMinionsKilledEnemyJungle":6,"goldEarned":13888,"goldSpent":12348,"combatPlayerScore":0,"objectivePlayerScore":0,"totalPlayerScore":0,"totalScoreRank":0,"magicDamageDealtToChampions":1478,"physicalDamageDealtToChampions":19384,"trueDamageDealtToChampions":2569,"visionWardsBoughtInGame":0,"sightWardsBoughtInGame":0,"magicDamageDealt":2046,"physicalDamageDealt":118028,"trueDamageDealt":13591,"magicDamageTaken":11056,"physicalDamageTaken":8585,"trueDamageTaken":365,"firstBloodKill":false,"firstBloodAssist":false,"firstTowerKill":false,"firstTowerAssist":false,"firstInhibitorKill":true,"firstInhibitorAssist":false,"inhibitorKills":1,"towerKills":1,"wardsPlaced":4,"wardsKilled":0,"largestMultiKill":3,"killingSprees":2,"totalUnitsHealed":1,"totalTimeCrowdControlDealt":595},"timeline":{"creepsPerMinDeltas":{"zeroToTen":0.2,"tenToTwenty":1.0,"twentyToThirty":2.1},"xpPerMinDeltas":{"zeroToTen":352.8,"tenToTwenty":429.1,"twentyToThirty":702.0999999999999},"goldPerMinDeltas":{"zeroToTen":195.7,"tenToTwenty":444.0,"twentyToThirty":588.3},"csDiffPerMinDeltas":{"zeroToTen":0.1,"tenToTwenty":0.19999999999999996,"twentyToThirty":0.7000000000000001},"xpDiffPerMinDeltas":{"zeroToTen":0.700000000000017,"tenToTwenty":100.89999999999998,"twentyToThirty":375.9},"damageTakenPerMinDeltas":{"zeroToTen":386.7,"tenToTwenty":582.2,"twentyToThirty":790.1},"damageTakenDiffPerMinDeltas":{"zeroToTen":-7.599999999999994,"tenToTwenty":-374.20000000000005,"twentyToThirty":-475.4999999999999},"role":"NONE","lane":"JUNGLE"}},{"participantId":7,"teamId":200,"championId":61,"spell1Id":4,"spell2Id":7,"stats":{"winner":true,"champLevel":17,"item0":3255,"item1":3174,"item2":3089,"item3":3135,"item4":1056,"item5":0,"item6":3340,"kills":2,"doubleKills":0,"tripleKills":0,"quadraKills":0,"pentaKills":0,"unrealKills":0,"largestKillingSpree":0,"deaths":2,"assists":17,"totalDamageDealt":147644,"totalDamageDealtToChampions":13830,"totalDamageTaken":11327,"largestCriticalStrike":0,"totalHeal":1257,"minionsKilled":175,"neutralMinionsKilled":43,"neutralMinionsKilledTeamJungle":40,"neutralMinionsKilledEnemyJungle":3,"goldEarned":12132,"goldSpent":11095,"combatPlayerScore":0,"objectivePlayerScore":0,"totalPlayerScore":0,"totalScoreRank":0,"magicDamageDealtToChampions":11886,"physicalDamageDealtToChampions":1683,"trueDamageDealtToChampions":260,"visionWardsBoughtInGame":1,"sightWardsBoughtInGame":4,"magicDamageDealt":126142,"physicalDamageDealt":20867,"trueDamageDealt":634,"magicDamageTaken":7762,"physicalDamageTaken":3350,"trueDamageTaken":213,"firstBloodKill":false,"firstBloodAssist":false,"firstTowerKill":false,"firstTowerAssist":false,"firstInhibitorKill":false,"firstInhibitorAssist":false,"inhibitorKills":0,"towerKills":2,"wardsPlaced":4,"wardsKilled":0,"largestMultiKill":1,"killingSprees":0,"totalUnitsHealed":3,"totalTimeCrowdControlDealt":1385},"timeline":{"creepsPerMinDeltas":{"zeroToTen":5.4,"tenToTwenty":5.4,"twentyToThirty":5.6},"xpPerMinDeltas":{"zeroToTen":418.3,"tenToTwenty":462.5,"twentyToThirty":615.0},"goldPerMinDeltas":{"zeroToTen":225.39999999999998,"tenToTwenty":364.5,"twentyToThirty":459.5},"csDiffPerMinDeltas":{"zeroToTen":-1.0,"tenToTwenty":-0.5999999999999999,"twentyToThirty":2.3},"xpDiffPerMinDeltas":{"zeroToTen":2.3000000000000114,"tenToTwenty":74.6,"twentyToThirty":170.2},"damageTakenPerMinDeltas":{"zeroToTen":183.1,"tenToTwenty":494.29999999999995,"twentyToThirty":373.4},"damageTakenDiffPerMinDeltas":{"zeroToTen":-84.3,"tenToTwenty":-71.20000000000002,"twentyToThirty":-714.4},"role":"SOLO","lane":"MIDDLE"}},{"participantId":8,"teamId":200,"championId":15,"spell1Id":4,"spell2Id":7,"stats":{"winner":true,"champLevel":17,"item0":3153,"item1":3250,"item2":3085,"item3":3072,"item4":1055,"item5":1038,"item6":3340,"kills":13,"doubleKills":3,"tripleKills":0,"quadraKills":0,"pentaKills":0,"unrealKills":0,"largestKillingSpree":7,"deaths":3,"assists":9,"totalDamageDealt":197210,"totalDamageDealtToChampions":26040,"totalDamageTaken":16091,"largestCriticalStrike":0,"totalHeal":2800,"minionsKilled":254,"neutralMinionsKilled":20,"neutralMinionsKilledTeamJungle":8,"neutralMinionsKilledEnemyJungle":12,"goldEarned":15025,"goldSpent":12995,"combatPlayerScore":0,"objectivePlayerScore":0,"totalPlayerScore":0,"totalScoreRank":0,"magicDamageDealtToChampions":1199,"physicalDamageDealtToChampions":23903,"trueDamageDealtToChampions":938,"visionWardsBoughtInGame":0,"sightWardsBoughtInGame":2,"magicDamageDealt":3073,"physicalDamageDealt":191910,"trueDamageDealt":2226,"magicDamageTaken":6232,"physicalDamageTaken":9831,"trueDamageTaken":28,"firstBloodKill":true,"firstBloodAssist":false,"firstTowerKill":false,"firstTowerAssist":false,"firstInhibitorKill":false,"firstInhibitorAssist":false,"inhibitorKills":0,"towerKills":2,"wardsPlaced":13,"wardsKilled":1,"largestMultiKill":2,"killingSprees":2,"totalUnitsHealed":3,"totalTimeCrowdControlDealt":430},"timeline":{"creepsPerMinDeltas":{"zeroToTen":5.2,"tenToTwenty":7.8999999999999995,"twentyToThirty":10.0},"xpPerMinDeltas":{"zeroToTen":267.8,"tenToTwenty":512.3,"twentyToThirty":743.6},"goldPerMinDeltas":{"zeroToTen":239.7,"tenToTwenty":510.9,"twentyToThirty":503.70000000000005},"csDiffPerMinDeltas":{"zeroToTen":0.45000000000000007,"tenToTwenty":0.9999999999999998,"twentyToThirty":2.25},"xpDiffPerMinDeltas":{"zeroToTen":-46.349999999999994,"tenToTwenty":79.89999999999998,"twentyToThirty":277.35},"damageTakenPerMinDeltas":{"zeroToTen":273.1,"tenToTwenty":385.29999999999995,"twentyToThirty":801.4},"damageTakenDiffPerMinDeltas":{"zeroToTen":13.999999999999986,"tenToTwenty":-88.95000000000005,"twentyToThirty":50.64999999999998},"role":"DUO_CARRY","lane":"BOTTOM"}},{"participantId":9,"teamId":200,"championId":80,"spell1Id":4,"spell2Id":14,"stats":{"winner":true,"champLevel":16,"item0":3074,"item1":3071,"item2":3047,"item3":1053,"item4":0,"item5":0,"item6":3340,"kills":7,"doubleKills":2,"tripleKills":0,"quadraKills":0,"pentaKills":0,"unrealKills":0,"largestKillingSpree":3,"deaths":3,"assists":10,"totalDamageDealt":100615,"totalDamageDealtToChampions":20520,"totalDamageTaken":16679,"largestCriticalStrike":568,"totalHeal":731,"minionsKilled":140,"neutralMinionsKilled":3,"neutralMinionsKilledTeamJungle":2,"neutralMinionsKilledEnemyJungle":1,"goldEarned":10718,"goldSpent":8680,"combatPlayerScore":0,"objectivePlayerScore":0,"totalPlayerScore":0,"totalScoreRank":0,"magicDamageDealtToChampions":2131,"physicalDamageDealtToChampions":17583,"trueDamageDealtToChampions":806,"visionWardsBoughtInGame":0,"sightWardsBoughtInGame":0,"magicDamageDealt":5802,"physicalDamageDealt":94007,"trueDamageDealt":806,"magicDamageTaken":7166,"physicalDamageTaken":9235,"trueDamageTaken":277,"firstBloodKill":false,"firstBloodAssist":false,"firstTowerKill":false,"firstTowerAssist":false,"firstInhibitorKill":false,"firstInhibitorAssist":true,"inhibitorKills":0,"towerKills":1,"wardsPlaced":1,"wardsKilled":0,"largestMultiKill":2,"killingSprees":2,"totalUnitsHealed":1,"totalTimeCrowdControlDealt":42},"timeline":{"creepsPerMinDeltas":{"zeroToTen":4.3,"tenToTwenty":4.6,"twentyToThirty":4.2},"xpPerMinDeltas":{"zeroToTen":362.4,"tenToTwenty":440.6,"twentyToThirty":443.9},"goldPerMinDeltas":{"zeroToTen":201.8,"tenToTwenty":335.7,"twentyToThirty":371.79999999999995},"csDiffPerMinDeltas":{"zeroToTen":-0.20000000000000018,"tenToTwenty":-1.6999999999999997,"twentyToThirty":-3.4},"xpDiffPerMinDeltas":{"zeroToTen":-61.400000000000006,"tenToTwenty":-110.99999999999997,"twentyToThirty":-27.80000000000001},"damageTakenPerMinDeltas":{"zeroToTen":206.0,"tenToTwenty":508.29999999999995,"twentyToThirty":713.3},"damageTakenDiffPerMinDeltas":{"zeroToTen":-28.799999999999997,"tenToTwenty":-230.90000000000006,"twentyToThirty":-117.20000000000002},"role":"SOLO","lane":"TOP"}},{"participantId":10,"teamId":200,"championId":89,"spell1Id":4,"spell2Id":3,"stats":{"winner":true,"champLevel":15,"item0":3401,"item1":3068,"item2":2049,"item3":3265,"item4":1011,"item5":0,"item6":3362,"kills":4,"doubleKills":0,"tripleKills":0,"quadraKills":0,"pentaKills":0,"unrealKills":0,"largestKillingSpree":3,"deaths":4,"assists":23,"totalDamageDealt":34775,"totalDamageDealtToChampions":15282,"totalDamageTaken":27935,"largestCriticalStrike":0,"totalHeal":5655,"minionsKilled":38,"neutralMinionsKilled":1,"neutralMinionsKilledTeamJungle":0,"neutralMinionsKilledEnemyJungle":1,"goldEarned":10192,"goldSpent":9225,"combatPlayerScore":0,"objectivePlayerScore":0,"totalPlayerScore":0,"totalScoreRank":0,"magicDamageDealtToChampions":9220,"physicalDamageDealtToChampions":5821,"trueDamageDealtToChampions":240,"visionWardsBoughtInGame":1,"sightWardsBoughtInGame":2,"magicDamageDealt":19352,"physicalDamageDealt":12582,"trueDamageDealt":2840,"magicDamageTaken":12500,"physicalDamageTaken":15273,"trueDamageTaken":161,"firstBloodKill":false,"firstBloodAssist":false,"firstTowerKill":false,"firstTowerAssist":true,"firstInhibitorKill":false,"firstInhibitorAssist":true,"inhibitorKills":0,"towerKills":1,"wardsPlaced":22,"wardsKilled":2,"largestMultiKill":1,"killingSprees":1,"totalUnitsHealed":4,"totalTimeCrowdControlDealt":129},"timeline":{"creepsPerMinDeltas":{"zeroToTen":1.7999999999999998,"tenToTwenty":1.0,"twentyToThirty":0.7},"xpPerMinDeltas":{"zeroToTen":282.1,"tenToTwenty":389.3,"twentyToThirty":592.3},"goldPerMinDeltas":{"zeroToTen":164.4,"tenToTwenty":352.2,"twentyToThirty":353.6},"csDiffPerMinDeltas":{"zeroToTen":0.45000000000000007,"tenToTwenty":0.9999999999999998,"twentyToThirty":2.25},"xpDiffPerMinDeltas":{"zeroToTen":-46.349999999999994,"tenToTwenty":79.89999999999998,"twentyToThirty":277.35},"damageTakenPerMinDeltas":{"zeroToTen":397.2,"tenToTwenty":783.5,"twentyToThirty":1227.1},"damageTakenDiffPerMinDeltas":{"zeroToTen":13.999999999999986,"tenToTwenty":-88.95000000000005,"twentyToThirty":50.64999999999998},"role":"DUO_SUPPORT","lane":"BOTTOM"}}],"participantIdentities":[{"participantId":1,"player":{"summonerId":42069693,"summonerName":"Elamado","matchHistoryUri":"/v1/stats/player_history/EUW1/201142749","profileIcon":605}},{"participantId":2,"player":{"summonerId":46482441,"summonerName":"AdMc98","matchHistoryUri":"/v1/stats/player_history/EUW1/204550189","profileIcon":604}},{"participantId":3,"player":{"summonerId":53858650,"summonerName":"Kanariese","matchHistoryUri":"/v1/stats/player_history/EUW1/205648107","profileIcon":664}},{"participantId":4,"player":{"summonerId":42841591,"summonerName":"everlast10","matchHistoryUri":"/v1/stats/player_history/EUW1/201663146","profileIcon":593}},{"participantId":5,"player":{"summonerId":24494773,"summonerName":"floflo23","matchHistoryUri":"/v1/stats/player_history/EUW1/28950965","profileIcon":547}},{"participantId":6,"player":{"summonerId":41186887,"summonerName":"Nittrato","matchHistoryUri":"/v1/stats/player_history/EUW1/200467926","profileIcon":27}},{"participantId":7,"player":{"summonerId":32782095,"summonerName":"Kûran","matchHistoryUri":"/v1/stats/player_history/EUW1/36580150","profileIcon":28}},{"participantId":8,"player":{"summonerId":44668041,"summonerName":"Steingie","matchHistoryUri":"/v1/stats/player_history/EUW1/203189836","profileIcon":664}},{"participantId":9,"player":{"summonerId":22713029,"summonerName":"JackBet","matchHistoryUri":"/v1/stats/player_history/EUW1/26678385","profileIcon":539}},{"participantId":10,"player":{"summonerId":38588826,"summonerName":"Almar96","matchHistoryUri":"/v1/stats/player_history/EUW1/41023658","profileIcon":663}}],"teams":[{"teamId":100,"winner":false,"firstBlood":false,"firstTower":false,"firstInhibitor":false,"firstBaron":false,"firstDragon":false,"towerKills":2,"inhibitorKills":0,"baronKills":0,"dragonKills":1,"vilemawKills":0,"bans":[{"championId":157,"pickTurn":1},{"championId":28,"pickTurn":3},{"championId":201,"pickTurn":5}]},{"teamId":200,"winner":true,"firstBlood":true,"firstTower":true,"firstInhibitor":true,"firstBaron":false,"firstDragon":true,"towerKills":8,"inhibitorKills":1,"baronKills":0,"dragonKills":2,"vilemawKills":0,"bans":[{"championId":24,"pickTurn":2},{"championId":11,"pickTurn":4},{"championId":10,"pickTurn":6}]}]}
@@ -0,0 +1 @@
1
+ {"30743211":[{"fullId":"TEAM-c8e23190-b00c-11e3-91c1-782bcb4ce61a","name":"testingRGTS","tag":"rgtste","status":"PROVISIONAL","teamStatDetails":[{"teamStatType":"RANKED_TEAM_3x3","wins":0,"losses":0,"averageGamesPlayed":0},{"teamStatType":"RANKED_TEAM_5x5","wins":0,"losses":0,"averageGamesPlayed":0}],"roster":{"ownerId":30743211,"memberList":[{"playerId":30743211,"joinDate":1395322408000,"inviteDate":1395290341000,"status":"MEMBER"},{"playerId":33249714,"joinDate":1395657363000,"inviteDate":1395655873000,"status":"MEMBER"},{"playerId":31219624,"joinDate":1395656699000,"inviteDate":1395655875000,"status":"MEMBER"}]},"createDate":1395305470000,"modifyDate":1396432715000,"lastJoinDate":1395657363000,"secondLastJoinDate":1395656699000,"thirdLastJoinDate":1395322408000,"lastJoinedRankedTeamQueueDate":545994511918},{"fullId":"TEAM-a9ad3db0-b377-11e3-b87d-782bcb4ce61a","name":"RGTS team fabs2","tag":"RGTSf2","status":"PROVISIONAL","teamStatDetails":[{"teamStatType":"RANKED_TEAM_5x5","wins":0,"losses":0,"averageGamesPlayed":0},{"teamStatType":"RANKED_TEAM_3x3","wins":0,"losses":0,"averageGamesPlayed":0}],"roster":{"ownerId":52482621,"memberList":[{"playerId":52482621,"joinDate":1395656028000,"inviteDate":1395656028000,"status":"MEMBER"},{"playerId":33249714,"joinDate":1395657936000,"inviteDate":1395656081000,"status":"MEMBER"},{"playerId":30743211,"joinDate":1395664484000,"inviteDate":1395656084000,"status":"MEMBER"},{"playerId":31219624,"joinDate":1395656706000,"inviteDate":1395656100000,"status":"MEMBER"}]},"createDate":1395681228000,"modifyDate":1403619321000,"lastJoinDate":1395669762000,"secondLastJoinDate":1395664484000,"thirdLastJoinDate":1395658740000,"lastJoinedRankedTeamQueueDate":545994511918},{"fullId":"TEAM-7d7013d0-b38b-11e3-9e38-782bcb497d6f","name":"Faraoni del Piffero","tag":"frnp","status":"RANKED","teamStatDetails":[{"teamStatType":"RANKED_TEAM_5x5","wins":0,"losses":0,"averageGamesPlayed":0},{"teamStatType":"RANKED_TEAM_3x3","wins":1,"losses":4,"averageGamesPlayed":0}],"roster":{"ownerId":30743211,"memberList":[{"playerId":30743211,"joinDate":1395664543000,"inviteDate":1395664543000,"status":"MEMBER"},{"playerId":304643,"joinDate":1395665507000,"inviteDate":1395664564000,"status":"MEMBER"},{"playerId":278098,"joinDate":1396109078000,"inviteDate":1395664567000,"status":"MEMBER"},{"playerId":322677,"joinDate":1401635026000,"inviteDate":1395664589000,"status":"MEMBER"},{"playerId":18976840,"joinDate":1395664900000,"inviteDate":1395664596000,"status":"MEMBER"},{"playerId":32261901,"joinDate":1395712321000,"inviteDate":1395664609000,"status":"MEMBER"},{"playerId":32241354,"joinDate":1395726237000,"inviteDate":1395664613000,"status":"MEMBER"}]},"matchHistory":[{"kills":5,"deaths":17,"opposingTeamKills":17,"assists":8,"gameMode":"CLASSIC","opposingTeamName":"GewoonCorea","win":false,"invalid":false,"mapId":10,"gameId":1516605754,"date":1402259724557},{"kills":18,"deaths":6,"opposingTeamKills":6,"assists":28,"gameMode":"CLASSIC","opposingTeamName":"Lazy Company","win":true,"invalid":false,"mapId":10,"gameId":1486318430,"date":1400704247851},{"kills":8,"deaths":18,"opposingTeamKills":18,"assists":7,"gameMode":"CLASSIC","opposingTeamName":"Tvs Slayers","win":false,"invalid":false,"mapId":10,"gameId":1397745471,"date":1396099782059},{"kills":7,"deaths":14,"opposingTeamKills":14,"assists":11,"gameMode":"CLASSIC","opposingTeamName":"RebellenQuatersMaster","win":false,"invalid":false,"mapId":10,"gameId":1397699520,"date":1396097972335},{"kills":16,"deaths":20,"opposingTeamKills":20,"assists":23,"gameMode":"CLASSIC","opposingTeamName":"Red Hot 0ompaLoompas","win":false,"invalid":false,"mapId":10,"gameId":1392667073,"date":1395784199011}],"createDate":1395664543000,"modifyDate":1402234524000,"lastJoinDate":1401635026000,"secondLastJoinDate":1396407487000,"thirdLastJoinDate":1396109078000,"lastGameDate":1402234524000,"lastJoinedRankedTeamQueueDate":1402233080000},{"fullId":"TEAM-945c16d0-c749-11e3-8369-782bcb497d6f","name":"Froststabs too heavy","tag":"DatRp","status":"PROVISIONAL","teamStatDetails":[{"teamStatType":"RANKED_TEAM_5x5","wins":3,"losses":1,"averageGamesPlayed":0},{"teamStatType":"RANKED_TEAM_3x3","wins":0,"losses":0,"averageGamesPlayed":0}],"roster":{"ownerId":50096950,"memberList":[{"playerId":50096950,"joinDate":1397835392000,"inviteDate":1397835388000,"status":"MEMBER"},{"playerId":30743211,"joinDate":1397835398000,"inviteDate":1397835392000,"status":"MEMBER"}]},"matchHistory":[{"kills":8,"deaths":25,"opposingTeamKills":24,"assists":11,"gameMode":"CLASSIC","opposingTeamName":"Nuked By Our Team","win":false,"invalid":false,"mapId":1,"gameId":1446549784,"date":1398557945148},{"kills":22,"deaths":16,"opposingTeamKills":16,"assists":37,"gameMode":"CLASSIC","opposingTeamName":"Ups Penta Again","win":true,"invalid":false,"mapId":1,"gameId":1446505510,"date":1398556192802},{"kills":27,"deaths":22,"opposingTeamKills":22,"assists":44,"gameMode":"CLASSIC","opposingTeamName":"Ranking Up","win":true,"invalid":false,"mapId":1,"gameId":1432994026,"date":1397865994632},{"kills":40,"deaths":27,"opposingTeamKills":27,"assists":62,"gameMode":"CLASSIC","opposingTeamName":"Fighting Bananas","win":true,"invalid":false,"mapId":1,"gameId":1432919007,"date":1397863381780}],"createDate":1397860458000,"modifyDate":1403619329000,"lastJoinDate":1398528285000,"secondLastJoinDate":1397835694000,"thirdLastJoinDate":1397835398000,"lastGameDate":1398532745000,"lastJoinedRankedTeamQueueDate":1398531025000},{"fullId":"TEAM-4e9b84c0-cbde-11e3-b0bb-782bcb497d6f","name":"I Cantacessi","tag":"GLCC","status":"RANKED","teamStatDetails":[{"teamStatType":"RANKED_TEAM_5x5","wins":7,"losses":10,"averageGamesPlayed":0},{"teamStatType":"RANKED_TEAM_3x3","wins":13,"losses":12,"averageGamesPlayed":0}],"roster":{"ownerId":30743211,"memberList":[{"playerId":30743211,"joinDate":1398338941000,"inviteDate":1398338941000,"status":"MEMBER"},{"playerId":33249714,"joinDate":1398339010000,"inviteDate":1398338963000,"status":"MEMBER"},{"playerId":42069693,"joinDate":1398345936000,"inviteDate":1398338969000,"status":"MEMBER"},{"playerId":36139156,"joinDate":1398771405000,"inviteDate":1398338975000,"status":"MEMBER"},{"playerId":304643,"joinDate":1398340249000,"inviteDate":1398338991000,"status":"MEMBER"},{"playerId":32261901,"joinDate":1398340736000,"inviteDate":1398339002000,"status":"MEMBER"},{"playerId":32241354,"joinDate":1398341990000,"inviteDate":1398339018000,"status":"MEMBER"},{"playerId":21562507,"joinDate":1398415760000,"inviteDate":1398339027000,"status":"MEMBER"},{"playerId":18976840,"joinDate":1398348008000,"inviteDate":1398339032000,"status":"MEMBER"}]},"matchHistory":[{"kills":52,"deaths":32,"opposingTeamKills":32,"assists":64,"gameMode":"CLASSIC","opposingTeamName":"sPykii","win":true,"invalid":false,"mapId":1,"gameId":1606519816,"date":1407186304830},{"kills":11,"deaths":23,"opposingTeamKills":23,"assists":17,"gameMode":"CLASSIC","opposingTeamName":"JesusFollowUs","win":false,"invalid":false,"mapId":1,"gameId":1606365428,"date":1407182209082},{"kills":19,"deaths":28,"opposingTeamKills":28,"assists":33,"gameMode":"CLASSIC","opposingTeamName":"Tyrker Tid","win":false,"invalid":false,"mapId":1,"gameId":1600541770,"date":1406840839777},{"kills":36,"deaths":32,"opposingTeamKills":32,"assists":65,"gameMode":"CLASSIC","opposingTeamName":"The Mammelon maniacs","win":false,"invalid":false,"mapId":1,"gameId":1600444381,"date":1406838523204},{"kills":42,"deaths":15,"opposingTeamKills":15,"assists":65,"gameMode":"CLASSIC","opposingTeamName":"FapLovers","win":true,"invalid":false,"mapId":1,"gameId":1598848063,"date":1406759342325},{"kills":13,"deaths":2,"opposingTeamKills":2,"assists":14,"gameMode":"CLASSIC","opposingTeamName":"Les Fairy Demon","win":true,"invalid":false,"mapId":1,"gameId":1598698299,"date":1406756319960},{"kills":5,"deaths":25,"opposingTeamKills":25,"assists":7,"gameMode":"CLASSIC","opposingTeamName":"Canabis Crached","win":false,"invalid":false,"mapId":1,"gameId":1598661094,"date":1406753918194},{"kills":26,"deaths":44,"opposingTeamKills":44,"assists":32,"gameMode":"CLASSIC","opposingTeamName":"Deal With Teemo","win":false,"invalid":false,"mapId":1,"gameId":1597123880,"date":1406667986973},{"kills":28,"deaths":34,"opposingTeamKills":34,"assists":56,"gameMode":"CLASSIC","opposingTeamName":"dragonfireblaze","win":false,"invalid":false,"mapId":1,"gameId":1597042424,"date":1406665481956},{"kills":15,"deaths":17,"opposingTeamKills":17,"assists":20,"gameMode":"CLASSIC","opposingTeamName":"flagachauve","win":false,"invalid":false,"mapId":10,"gameId":1596992287,"date":1406662846326},{"kills":62,"deaths":31,"opposingTeamKills":31,"assists":96,"gameMode":"CLASSIC","opposingTeamName":"Krabban","win":true,"invalid":false,"mapId":1,"gameId":1595604721,"date":1406584845310},{"kills":1,"deaths":16,"opposingTeamKills":16,"assists":1,"gameMode":"CLASSIC","opposingTeamName":"KlötenWunder","win":false,"invalid":false,"mapId":10,"gameId":1595545587,"date":1406581240396},{"kills":14,"deaths":3,"opposingTeamKills":3,"assists":23,"gameMode":"CLASSIC","opposingTeamName":"Pracepaniusi","win":true,"invalid":false,"mapId":10,"gameId":1595485162,"date":1406579450820},{"kills":22,"deaths":12,"opposingTeamKills":12,"assists":41,"gameMode":"CLASSIC","opposingTeamName":"SitGamingSkill","win":true,"invalid":false,"mapId":10,"gameId":1595320331,"date":1406577733903},{"kills":11,"deaths":2,"opposingTeamKills":2,"assists":17,"gameMode":"CLASSIC","opposingTeamName":"Team Best Broken Ever","win":true,"invalid":false,"mapId":10,"gameId":1592989854,"date":1406465944098},{"kills":36,"deaths":15,"opposingTeamKills":15,"assists":64,"gameMode":"CLASSIC","opposingTeamName":"Só Mato Pinheiros","win":true,"invalid":false,"mapId":1,"gameId":1589073191,"date":1406236710508},{"kills":6,"deaths":25,"opposingTeamKills":25,"assists":8,"gameMode":"CLASSIC","opposingTeamName":"OMGWTFANANaNAS","win":false,"invalid":false,"mapId":1,"gameId":1589012496,"date":1406232793400},{"kills":41,"deaths":21,"opposingTeamKills":20,"assists":69,"gameMode":"CLASSIC","opposingTeamName":"Nabiças Verdes","win":true,"invalid":false,"mapId":1,"gameId":1584584283,"date":1405979936090},{"kills":9,"deaths":29,"opposingTeamKills":29,"assists":14,"gameMode":"CLASSIC","opposingTeamName":"OutlawzZ","win":false,"invalid":false,"mapId":10,"gameId":1576055298,"date":1405540031349},{"kills":44,"deaths":19,"opposingTeamKills":19,"assists":90,"gameMode":"CLASSIC","opposingTeamName":"Tu l as eu","win":true,"invalid":false,"mapId":1,"gameId":1574786018,"date":1405461686788}],"createDate":1398338941000,"modifyDate":1407186304000,"lastJoinDate":1398771405000,"secondLastJoinDate":1398415760000,"thirdLastJoinDate":1398348008000,"lastGameDate":1407186304000,"lastJoinedRankedTeamQueueDate":1407183431000}]}
@@ -1 +1 @@
1
- {"TEAM-c8e23190-b00c-11e3-91c1-782bcb4ce61a":{"fullId":"TEAM-c8e23190-b00c-11e3-91c1-782bcb4ce61a","name":"testingRGTS","tag":"rgtste","status":"PROVISIONAL","teamStatDetails":[{"teamStatType":"RANKED_TEAM_3x3","wins":0,"losses":0,"averageGamesPlayed":0},{"teamStatType":"RANKED_TEAM_5x5","wins":0,"losses":0,"averageGamesPlayed":0}],"roster":{"ownerId":30743211,"memberList":[{"playerId":30743211,"joinDate":1395322408000,"inviteDate":1395290341000,"status":"MEMBER"},{"playerId":33249714,"joinDate":1395657363000,"inviteDate":1395655873000,"status":"MEMBER"},{"playerId":31219624,"joinDate":1395656699000,"inviteDate":1395655875000,"status":"MEMBER"}]},"createDate":1395305470000,"modifyDate":1396432715000,"lastJoinDate":1395657363000,"secondLastJoinDate":1395656699000,"thirdLastJoinDate":1395322408000,"lastJoinedRankedTeamQueueDate":545825650248}}
1
+ {"TEAM-c8e23190-b00c-11e3-91c1-782bcb4ce61a":{"fullId":"TEAM-c8e23190-b00c-11e3-91c1-782bcb4ce61a","name":"testingRGTS","tag":"rgtste","status":"PROVISIONAL","teamStatDetails":[{"teamStatType":"RANKED_TEAM_3x3","wins":0,"losses":0,"averageGamesPlayed":0},{"teamStatType":"RANKED_TEAM_5x5","wins":0,"losses":0,"averageGamesPlayed":0}],"roster":{"ownerId":30743211,"memberList":[{"playerId":30743211,"joinDate":1395322408000,"inviteDate":1395290341000,"status":"MEMBER"},{"playerId":33249714,"joinDate":1395657363000,"inviteDate":1395655873000,"status":"MEMBER"},{"playerId":31219624,"joinDate":1395656699000,"inviteDate":1395655875000,"status":"MEMBER"}]},"createDate":1395305470000,"modifyDate":1396432715000,"lastJoinDate":1395657363000,"secondLastJoinDate":1395656699000,"thirdLastJoinDate":1395322408000,"lastJoinedRankedTeamQueueDate":545994511918}}
@@ -83,6 +83,18 @@ describe Client do
83
83
  end
84
84
  end
85
85
 
86
+ describe '#match' do
87
+ it "returns an instance of MatchRequest" do
88
+ expect(subject.match).to be_a(MatchRequest)
89
+ end
90
+
91
+ it "initializes the MatchRequest with the current API key and region" do
92
+ expect(MatchRequest).to receive(:new).with(subject.api_key, subject.region, subject.cache_store)
93
+
94
+ subject.match
95
+ end
96
+ end
97
+
86
98
  describe '#stats' do
87
99
  it "returns an instance of StatsRequest" do
88
100
  expect(subject.stats).to be_a(StatsRequest)
@@ -143,6 +155,12 @@ describe Client do
143
155
  end
144
156
  end
145
157
 
158
+ describe '#lol_status' do
159
+ it 'return an instance of LolStatusRequest' do
160
+ expect(subject.lol_status).to be_a(LolStatusRequest)
161
+ end
162
+ end
163
+
146
164
  describe "#api_key" do
147
165
  it "returns an api key" do
148
166
  expect(subject.api_key).to eq("foo")
@@ -0,0 +1,74 @@
1
+ require 'spec_helper'
2
+ require 'lol/dynamic_model'
3
+
4
+ include Lol
5
+
6
+ describe DynamicModel do
7
+ shared_examples 'enables date parsing' do
8
+ let(:timestamp_value) { 1423243755000 }
9
+ subject { DynamicModel.new attribute => timestamp_value}
10
+ let(:attribute_value) { subject.send attribute }
11
+
12
+ it 'and casts the value to Time' do
13
+ expect(attribute_value).to be_a Time
14
+ end
15
+
16
+ it 'and divides the number by 1000' do
17
+ expect(attribute_value.to_i).to eq timestamp_value / 1000
18
+ end
19
+
20
+ it 'and ignores casting when the value is not an integer' do
21
+ subject = DynamicModel.new attribute => 'foo bar'
22
+ expect(subject.send attribute).not_to be_a Time
23
+ end
24
+ end
25
+
26
+ context 'when is not initialized with an hash' do
27
+ subject { DynamicModel.new 'not enumerable data' }
28
+
29
+ it 'raises an argument error' do
30
+ expect{ subject }.to raise_error ArgumentError, 'An hash is required as parameter'
31
+ end
32
+ end
33
+
34
+ context 'when initialized with hash' do
35
+ subject { DynamicModel.new key: 'value' }
36
+
37
+ it 'does not raise error' do
38
+ expect { subject }.not_to raise_error
39
+ end
40
+
41
+ it 'defines a method per each argument key' do
42
+ expect(subject).to respond_to(:key)
43
+ end
44
+ end
45
+
46
+ %w(date at).each do |attr_name|
47
+ context "when an hash key is called '#{attr_name}'" do
48
+ it_behaves_like 'enables date parsing' do
49
+ let(:attribute) { attr_name }
50
+ end
51
+ end
52
+
53
+ context "when an hash key ends with '_#{attr_name}'" do
54
+ it_behaves_like 'enables date parsing' do
55
+ let(:attribute) { "a2342_#{attr_name}"}
56
+ end
57
+ end
58
+ end
59
+
60
+ context "when an hash value is an array" do
61
+ it 'preserves the array' do
62
+ subject = DynamicModel.new foo: ['foo']
63
+ expect(subject.foo).to eq ['foo']
64
+ end
65
+
66
+ context 'and one or more array items are hashes' do
67
+ subject { DynamicModel.new foo: [{}] }
68
+
69
+ it 'casts each hash to another DynamicModel instance' do
70
+ expect(subject.foo.map(&:class).uniq).to eq [DynamicModel]
71
+ end
72
+ end
73
+ end
74
+ end
@@ -75,9 +75,9 @@ describe LeagueRequest do
75
75
  end
76
76
 
77
77
  describe '#challenger' do
78
- subject { request.challenger }
78
+ subject { request.challenger('RANKED_SOLO_5x5') }
79
79
 
80
- before(:each) { stub_request(request, 'league-challenger', 'league/challenger') }
80
+ before(:each) { stub_request(request, 'league-challenger', 'league/challenger', { :type => 'RANKED_SOLO_5x5' }) }
81
81
 
82
82
  it 'returns League' do
83
83
  expect(subject.class).to eq(League)
@@ -0,0 +1,55 @@
1
+ require "spec_helper"
2
+ require "lol"
3
+
4
+ include Lol
5
+
6
+ describe LolStatusRequest do
7
+ it 'inherits from Request' do
8
+ expect(LolStatusRequest.ancestors[1]).to eq(Request)
9
+ end
10
+
11
+ describe '#api_url' do
12
+ it 'returns full url for' do
13
+ expect(subject.api_url('shards')).to eq 'http://status.leagueoflegends.com/shards'
14
+ end
15
+
16
+ it 'returns full url with path' do
17
+ expect(subject.api_url('shards', 'something')).to eq 'http://status.leagueoflegends.com/shards/something'
18
+ end
19
+ end
20
+
21
+ describe "#shards" do
22
+ let(:response) { subject.shards }
23
+
24
+ before(:each) { stub_request(subject, 'lol-status-shards', 'shards') }
25
+
26
+ it 'returns an array' do
27
+ expect(response).to be_a(Array)
28
+ end
29
+
30
+ it 'returns an array of Shard' do
31
+ expect(response.map(&:class).uniq).to eq([DynamicModel])
32
+ end
33
+
34
+ it 'fetches shards from the API' do
35
+ fixture = load_fixture('lol-status-shards', LolStatusRequest.api_version)
36
+ expect(response.size).to eq(fixture.size)
37
+ end
38
+ end
39
+
40
+ describe '#current_shard' do
41
+ subject { LolStatusRequest.new 'euw'}
42
+ let(:response) { subject.current_shard }
43
+
44
+ before(:each) { stub_request(subject, 'lol-status-shard-by-region', 'shards', 'euw') }
45
+
46
+ it 'returns a Shard' do
47
+ expect(response).to be_a(DynamicModel)
48
+ end
49
+
50
+ it 'services returns an array of Services' do
51
+ expect(response.services.map(&:class).uniq).to eq([DynamicModel])
52
+ end
53
+ end
54
+
55
+ end
@@ -4,4 +4,24 @@ require "lol"
4
4
  include Lol
5
5
 
6
6
  describe MatchRequest do
7
+ it "inherits from Request" do
8
+ expect(MatchRequest.ancestors[1]).to eq(Request)
9
+ end
10
+
11
+ let(:request) { MatchRequest.new("api_key", "euw") }
12
+
13
+ describe "#get" do
14
+ subject { request.get(1) }
15
+
16
+ before { stub_request(request, 'match', 'match/1') }
17
+
18
+ it 'returns an hash' do
19
+ expect(subject).to be_a(Hash)
20
+ end
21
+
22
+ it 'fetches matches from the API' do
23
+ fixture = load_fixture('match', MatchRequest.api_version)
24
+ expect(subject.keys).to match_array fixture.keys
25
+ end
26
+ end
7
27
  end
@@ -113,11 +113,11 @@ describe Request do
113
113
  end
114
114
 
115
115
  it "returns a full fledged api url" do
116
- expect(subject.api_url("bar")).to eq("http://euw.api.pvp.net/api/lol/euw/v1.1/bar?api_key=api_key")
116
+ expect(subject.api_url("bar")).to eq("https://euw.api.pvp.net/api/lol/euw/v1.1/bar?api_key=api_key")
117
117
  end
118
118
 
119
119
  it "optionally accept query string parameters" do
120
- expect(subject.api_url("foo", a: 'b')).to eq("http://euw.api.pvp.net/api/lol/euw/v1.1/foo?a=b&api_key=api_key")
120
+ expect(subject.api_url("foo", a: 'b')).to eq("https://euw.api.pvp.net/api/lol/euw/v1.1/foo?a=b&api_key=api_key")
121
121
  end
122
122
  end
123
123
  end
@@ -14,7 +14,7 @@ describe StaticRequest do
14
14
 
15
15
  describe "#api_url" do
16
16
  it "contains a static-data path component" do
17
- expect(request.api_url("foo")).to eq("http://global.api.pvp.net/api/lol/static-data/euw/v1.2/foo?api_key=api_key")
17
+ expect(request.api_url("foo")).to eq("https://global.api.pvp.net/api/lol/static-data/euw/v1.2/foo?api_key=api_key")
18
18
  end
19
19
  end
20
20
 
@@ -11,11 +11,11 @@ describe TeamRequest do
11
11
  end
12
12
 
13
13
  describe "#by_summoner" do
14
- let(:fixture) { load_fixture('team', TeamRequest.api_version) }
14
+ let(:fixture) { load_fixture('by-summoner', TeamRequest.api_version) }
15
15
 
16
16
  subject { request.by_summoner(1) }
17
17
 
18
- before(:each) { stub_request(request, 'team', 'team/by-summoner/1') }
18
+ before(:each) { stub_request(request, 'by-summoner', 'team/by-summoner/1') }
19
19
 
20
20
  it 'returns an hash' do
21
21
  expect(subject).to be_a(Hash)
@@ -35,7 +35,7 @@ describe TeamRequest do
35
35
  context 'with team id' do
36
36
  subject { request.get("TEAM-a9ad3db0-b377-11e3-b87d-782bcb4ce61a") }
37
37
 
38
- before(:each) { stub_request(request, 'team-by-id', 'team/TEAM-a9ad3db0-b377-11e3-b87d-782bcb4ce61a') }
38
+ before(:each) { stub_request(request, 'team', 'team/TEAM-a9ad3db0-b377-11e3-b87d-782bcb4ce61a') }
39
39
 
40
40
  it 'returns an array of Teams' do
41
41
  subject.each {|k,v| expect(v).to be_a Lol::Team}
@@ -86,14 +86,6 @@ shared_examples 'collection attribute' do
86
86
  expect(model.send(attribute).size).to eq 2
87
87
  end
88
88
 
89
- context 'if the value is not enumerable' do
90
- it 'raises an error' do
91
- expect {
92
- subject_class.new({ attribute => 'asd' })
93
- }.to raise_error NoMethodError
94
- end
95
- end
96
-
97
89
  context 'if the value is enumerable' do
98
90
  context 'and contains items as Hash' do
99
91
  it 'parses the item' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-lol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.19
4
+ version: 0.9.19.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Giovanni Intini
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-03 00:00:00.000000000 Z
11
+ date: 2015-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -278,12 +278,14 @@ files:
278
278
  - lib/lol/champion_request.rb
279
279
  - lib/lol/champion_statistics_summary.rb
280
280
  - lib/lol/client.rb
281
+ - lib/lol/dynamic_model.rb
281
282
  - lib/lol/game.rb
282
283
  - lib/lol/game_request.rb
283
284
  - lib/lol/invalid_api_response.rb
284
285
  - lib/lol/league.rb
285
286
  - lib/lol/league_entry.rb
286
287
  - lib/lol/league_request.rb
288
+ - lib/lol/lol_status_request.rb
287
289
  - lib/lol/mastery.rb
288
290
  - lib/lol/mastery_page.rb
289
291
  - lib/lol/match_history_request.rb
@@ -310,6 +312,8 @@ files:
310
312
  - ruby-lol.gemspec
311
313
  - spec/acceptance_spec.rb
312
314
  - spec/api_version_spec.rb
315
+ - spec/fixtures/v1.0/get-lol-status-shard-by-region.json
316
+ - spec/fixtures/v1.0/get-lol-status-shards.json
313
317
  - spec/fixtures/v1.2/get-champion-266.json
314
318
  - spec/fixtures/v1.2/get-champion-by-id.json
315
319
  - spec/fixtures/v1.2/get-champion.json
@@ -332,7 +336,8 @@ files:
332
336
  - spec/fixtures/v1.4/get-summoner-name.json
333
337
  - spec/fixtures/v1.4/get-summoner-runes.json
334
338
  - spec/fixtures/v1.4/get-summoner.json
335
- - spec/fixtures/v2.4/get-team-by-id.json
339
+ - spec/fixtures/v2.2/get-match.json
340
+ - spec/fixtures/v2.4/get-by-summoner.json
336
341
  - spec/fixtures/v2.4/get-team.json
337
342
  - spec/fixtures/v2.5/get-league-by-team.json
338
343
  - spec/fixtures/v2.5/get-league-challenger.json
@@ -343,12 +348,14 @@ files:
343
348
  - spec/lol/champion_spec.rb
344
349
  - spec/lol/champion_statistics_summary_spec.rb
345
350
  - spec/lol/client_spec.rb
351
+ - spec/lol/dynamic_model_spec.rb
346
352
  - spec/lol/game_request_spec.rb
347
353
  - spec/lol/game_spec.rb
348
354
  - spec/lol/invalid_api_response_spec.rb
349
355
  - spec/lol/league_entry_spec.rb
350
356
  - spec/lol/league_request_spec.rb
351
357
  - spec/lol/league_spec.rb
358
+ - spec/lol/lol_status_request_spec.rb
352
359
  - spec/lol/mastery_page_spec.rb
353
360
  - spec/lol/mastery_spec.rb
354
361
  - spec/lol/match_history_request_spec.rb
@@ -394,13 +401,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
394
401
  version: '0'
395
402
  requirements: []
396
403
  rubyforge_project:
397
- rubygems_version: 2.2.2
404
+ rubygems_version: 2.4.3
398
405
  signing_key:
399
406
  specification_version: 4
400
407
  summary: Ruby wrapper to Riot Games API
401
408
  test_files:
402
409
  - spec/acceptance_spec.rb
403
410
  - spec/api_version_spec.rb
411
+ - spec/fixtures/v1.0/get-lol-status-shard-by-region.json
412
+ - spec/fixtures/v1.0/get-lol-status-shards.json
404
413
  - spec/fixtures/v1.2/get-champion-266.json
405
414
  - spec/fixtures/v1.2/get-champion-by-id.json
406
415
  - spec/fixtures/v1.2/get-champion.json
@@ -423,7 +432,8 @@ test_files:
423
432
  - spec/fixtures/v1.4/get-summoner-name.json
424
433
  - spec/fixtures/v1.4/get-summoner-runes.json
425
434
  - spec/fixtures/v1.4/get-summoner.json
426
- - spec/fixtures/v2.4/get-team-by-id.json
435
+ - spec/fixtures/v2.2/get-match.json
436
+ - spec/fixtures/v2.4/get-by-summoner.json
427
437
  - spec/fixtures/v2.4/get-team.json
428
438
  - spec/fixtures/v2.5/get-league-by-team.json
429
439
  - spec/fixtures/v2.5/get-league-challenger.json
@@ -434,12 +444,14 @@ test_files:
434
444
  - spec/lol/champion_spec.rb
435
445
  - spec/lol/champion_statistics_summary_spec.rb
436
446
  - spec/lol/client_spec.rb
447
+ - spec/lol/dynamic_model_spec.rb
437
448
  - spec/lol/game_request_spec.rb
438
449
  - spec/lol/game_spec.rb
439
450
  - spec/lol/invalid_api_response_spec.rb
440
451
  - spec/lol/league_entry_spec.rb
441
452
  - spec/lol/league_request_spec.rb
442
453
  - spec/lol/league_spec.rb
454
+ - spec/lol/lol_status_request_spec.rb
443
455
  - spec/lol/mastery_page_spec.rb
444
456
  - spec/lol/mastery_spec.rb
445
457
  - spec/lol/match_history_request_spec.rb
@@ -1 +0,0 @@
1
- {"TEAM-c8e23190-b00c-11e3-91c1-782bcb4ce61a":{"fullId":"TEAM-c8e23190-b00c-11e3-91c1-782bcb4ce61a","name":"testingRGTS","tag":"rgtste","status":"PROVISIONAL","teamStatDetails":[{"teamStatType":"RANKED_TEAM_3x3","wins":0,"losses":0,"averageGamesPlayed":0},{"teamStatType":"RANKED_TEAM_5x5","wins":0,"losses":0,"averageGamesPlayed":0}],"roster":{"ownerId":30743211,"memberList":[{"playerId":30743211,"joinDate":1395322408000,"inviteDate":1395290341000,"status":"MEMBER"},{"playerId":33249714,"joinDate":1395657363000,"inviteDate":1395655873000,"status":"MEMBER"},{"playerId":31219624,"joinDate":1395656699000,"inviteDate":1395655875000,"status":"MEMBER"}]},"createDate":1395305470000,"modifyDate":1396432715000,"lastJoinDate":1395657363000,"secondLastJoinDate":1395656699000,"thirdLastJoinDate":1395322408000,"lastJoinedRankedTeamQueueDate":545837107898}}