league_of_legends 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 88d301f5ac4bd1cbfce2d325c27fc7b812e9c6fc
4
- data.tar.gz: 95bc9470c025d4d4c878b07d3094504fd1354f03
3
+ metadata.gz: aee1eefe05daf8e323f53035ef34e2101d7644a0
4
+ data.tar.gz: 00661785cdfbe4c54b9a6c89e67ef9695439bca7
5
5
  SHA512:
6
- metadata.gz: 20670ef360d1c4bc57658e49234f2d2c99f3ed832ac42cc47e2a3cc5445aef0f5c6645f3088f7e0c3b4d2c6ad2dadab560d08ccccfe0846161c7e92c04f5b4db
7
- data.tar.gz: 26b7b4a92f6eb33ce2f7fe4383d536287ade407ced096cedfa78ba58e2130f022c35aafeee9cf3223133f0b3eafafd9e8916b3539c10af10f4ff18bca76be130
6
+ metadata.gz: 421dfdc2975c3ac35fb14cc11530e217da467c060acdf4829978e3ce82d8066b82b55e4058071a2152e5a8da54dca13738779675df7ccf7e8eb25e949250111d
7
+ data.tar.gz: efc9fb5d4d82ca1d45988e7bae7780ef3677f77e8e018422bea3a6e399f2eca8187319a53b7483b2d29d5802d2f964994ee5c12a349e7a45f3c275e6f5b3c601
data/README.md CHANGED
@@ -26,11 +26,14 @@ The gem is still a work in progress and has limited functionality.
26
26
  lol_api = ::LeagueOfLegends::Api.new <api key>
27
27
 
28
28
  # get all available request types
29
- lol_api.available_request
29
+ lol_api.available_requests
30
30
 
31
31
  # execute a request
32
32
  result_dto = lol_api.get(:summoner_stats_summary, <summoner id>)
33
33
 
34
+ # total number of victories
35
+ result_dto.player_stat_summaries.map(&:wins).reduce(&:+)
36
+
34
37
 
35
38
  In this example, the DTO returned is a `::LeagueOfLegends::DTO::PlayerStatsSummaryList`.
36
39
 
@@ -23,4 +23,7 @@ This product is not endorsed, certified or otherwise approved in any way by Riot
23
23
 
24
24
  spec.add_development_dependency "bundler", "~> 1.5"
25
25
  spec.add_development_dependency "rake"
26
+ spec.add_development_dependency "rspec", "~> 2.14.1"
27
+ spec.add_development_dependency "vcr", "~> 2.8"
28
+ spec.add_development_dependency "webmock", ">= 1.8.0", "< 1.16"
26
29
  end
@@ -44,7 +44,7 @@ module ::LeagueOfLegends
44
44
  raise ArgumentError.new 'wrong number of arguments (0 for 1)'
45
45
  when String
46
46
  if key =~ /^\h{8}(-\h{4}){3}-\h{12}$/
47
- @key = key
47
+ @key = key.chomp
48
48
  else
49
49
  raise ArgumentError.new 'key with incorrect format'
50
50
  end
@@ -57,7 +57,7 @@ module ::LeagueOfLegends
57
57
  require 'uri'
58
58
 
59
59
  if base_url =~ /^#{URI::regexp}$/o
60
- @base_url = base_url
60
+ @base_url = base_url.chomp
61
61
  else
62
62
  raise ArgumentError.new 'expected a valid URL'
63
63
  end
@@ -13,8 +13,9 @@ module ::LeagueOfLegends
13
13
 
14
14
  def initialize json
15
15
  attributes = build_attributes json
16
+
16
17
  @summoner_id = attributes[:summonerId].to_i
17
- @player_stat_summaries = attributes[:playerStatSummaries].map do |pss|
18
+ @player_stat_summaries = attributes[:playerStatSummaries].to_a.map do |pss|
18
19
  ::LeagueOfLegends::DTO::PlayerStatsSummary.new(pss)
19
20
  end
20
21
  end
@@ -1,3 +1,4 @@
1
1
  require 'league_of_legends/request/mapper'
2
2
  require 'league_of_legends/request/base'
3
3
  require 'league_of_legends/request/stats/by_summoner/summary'
4
+ require 'league_of_legends/request/champion'
@@ -0,0 +1,46 @@
1
+ require 'league_of_legends/request/base'
2
+ require 'league_of_legends/dto/champion'
3
+
4
+ module ::LeagueOfLegends
5
+ module Request
6
+ class Champion < ::LeagueOfLegends::Request::Base
7
+
8
+ attr_reader :free_to_play
9
+
10
+ def initialize api, free_to_play, options = {}
11
+ super(api, options)
12
+ @free_to_play = parse_f2p free_to_play
13
+ end
14
+
15
+ def self.dto_class
16
+ ::LeagueOfLegends::DTO::ChampionList
17
+ end
18
+
19
+ protected
20
+
21
+ def base_url
22
+ super << "champion"
23
+ end
24
+
25
+ def url_parameters
26
+ if free_to_play.nil?
27
+ super
28
+ else
29
+ super << "freeToPlay=#{free_to_play}"
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def parse_f2p f2p
36
+ case f2p
37
+ when TrueClass, FalseClass
38
+ f2p.to_s
39
+ else
40
+ nil
41
+ end
42
+ end
43
+
44
+ end
45
+ end
46
+ end
@@ -26,7 +26,10 @@ module ::LeagueOfLegends
26
26
  @map ||= {
27
27
  summoner_stats_summary: {
28
28
  class: ::LeagueOfLegends::Request::Stats::BySummoner::Summary,
29
- },
29
+ },
30
+ champions: {
31
+ class: ::LeagueOfLegends::Request::Champion,
32
+ },
30
33
  }
31
34
  end
32
35
 
@@ -1,3 +1,3 @@
1
1
  module LeagueOfLegends
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://prod.api.pvp.net/api/lol/euw/v1.1/champion?api_key=a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1&freeToPlay=true
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - prod.api.pvp.net
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Access-Control-Allow-Headers:
24
+ - Content-Type
25
+ Access-Control-Allow-Methods:
26
+ - GET, POST, DELETE, PUT
27
+ Access-Control-Allow-Origin:
28
+ - '*'
29
+ Content-Type:
30
+ - application/json;charset=UTF-8
31
+ Date:
32
+ - Wed, 29 Jan 2014 18:20:21 GMT
33
+ Server:
34
+ - Jetty(9.1.0.v20131115)
35
+ X-Newrelic-App-Data:
36
+ - PxQFWFFSDwQTVVdUBAgPUkYdFGQHBDcQUQxLA1tMXV1dORYzVBBGBxdCdhUSEVFRRRAEPhhQRw84HlpcDjpMB0UVZE1OCRoDb0paCVAMQwsLWBVNVk0IHwRKUlsPBwMjSQUaHlNKQVZVAApbCAsBUwJWXANXAwBAOQ==
37
+ Content-Length:
38
+ - '1879'
39
+ Connection:
40
+ - keep-alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"champions":[{"id":22,"name":"Ashe","active":true,"attackRank":7,"defenseRank":3,"magicRank":2,"difficultyRank":4,"botEnabled":true,"freeToPlay":true,"botMmEnabled":true,"rankedPlayEnabled":true},{"id":114,"name":"Fiora","active":true,"attackRank":10,"defenseRank":4,"magicRank":2,"difficultyRank":5,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":126,"name":"Jayce","active":true,"attackRank":8,"defenseRank":4,"magicRank":3,"difficultyRank":8,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":85,"name":"Kennen","active":true,"attackRank":6,"defenseRank":4,"magicRank":7,"difficultyRank":5,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":117,"name":"Lulu","active":true,"attackRank":4,"defenseRank":5,"magicRank":7,"difficultyRank":7,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":56,"name":"Nocturne","active":true,"attackRank":9,"defenseRank":5,"magicRank":2,"difficultyRank":6,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":80,"name":"Pantheon","active":true,"attackRank":9,"defenseRank":4,"magicRank":3,"difficultyRank":5,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":133,"name":"Quinn","active":true,"attackRank":9,"defenseRank":4,"magicRank":2,"difficultyRank":7,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":37,"name":"Sona","active":true,"attackRank":5,"defenseRank":2,"magicRank":8,"difficultyRank":1,"botEnabled":true,"freeToPlay":true,"botMmEnabled":true,"rankedPlayEnabled":true},{"id":5,"name":"XinZhao","active":true,"attackRank":8,"defenseRank":6,"magicRank":3,"difficultyRank":3,"botEnabled":true,"freeToPlay":true,"botMmEnabled":true,"rankedPlayEnabled":true}]}'
44
+ http_version:
45
+ recorded_at: Wed, 29 Jan 2014 18:20:21 GMT
46
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://prod.api.pvp.net/api/lol/euw/v1.2/stats/by-summoner/50519866/summary?api_key=a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - prod.api.pvp.net
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Access-Control-Allow-Headers:
24
+ - Content-Type
25
+ Access-Control-Allow-Methods:
26
+ - GET, POST, DELETE, PUT
27
+ Access-Control-Allow-Origin:
28
+ - '*'
29
+ Content-Type:
30
+ - application/json;charset=UTF-8
31
+ Date:
32
+ - Wed, 29 Jan 2014 18:20:20 GMT
33
+ Server:
34
+ - Jetty(9.1.0.v20131115)
35
+ X-Newrelic-App-Data:
36
+ - PxQFWFFSDwQTVVdUBAgPUkYdFGQHBDcQUQxLA1tMXV1dORYzVBBGBxdCdhUSEVFRRRAEPhhQRw84HlpcDjpMB0UVZE1OCRoAb0pKFVAVQD5LVE5MFRZVXl8KBBBrHkQTCVxZXQcUKgZsTUsXVVVVQEpHFVEfUR9SSgYHU1NXCAsAVk1PBh0VAAAAUFIGB1EHAFVeUFpZFm8=
37
+ Content-Length:
38
+ - '676'
39
+ Connection:
40
+ - keep-alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"summonerId":50519866,"playerStatSummaries":[{"playerStatSummaryType":"CoopVsAI","wins":14,"modifyDate":1389972770000,"aggregatedStats":{"totalChampionKills":84,"totalMinionKills":1678,"totalTurretsKilled":32,"totalNeutralMinionsKilled":347,"totalAssists":86}},{"playerStatSummaryType":"OdinUnranked","wins":0,"modifyDate":1389972770000,"aggregatedStats":{}},{"playerStatSummaryType":"Unranked","wins":17,"modifyDate":1390734105000,"aggregatedStats":{"totalChampionKills":251,"totalMinionKills":2195,"totalTurretsKilled":42,"totalNeutralMinionsKilled":473,"totalAssists":167}},{"playerStatSummaryType":"Unranked3x3","wins":0,"modifyDate":1389972770000,"aggregatedStats":{}}]}'
44
+ http_version:
45
+ recorded_at: Wed, 29 Jan 2014 18:20:21 GMT
46
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://prod.api.pvp.net/api/lol/euw/v1.1/champion?api_key=a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1&freeToPlay=true
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - prod.api.pvp.net
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Access-Control-Allow-Headers:
24
+ - Content-Type
25
+ Access-Control-Allow-Methods:
26
+ - GET, POST, DELETE, PUT
27
+ Access-Control-Allow-Origin:
28
+ - '*'
29
+ Content-Type:
30
+ - application/json;charset=UTF-8
31
+ Date:
32
+ - Wed, 29 Jan 2014 18:27:07 GMT
33
+ Server:
34
+ - Jetty(9.1.0.v20131115)
35
+ X-Newrelic-App-Data:
36
+ - PxQFWFFSDwQTVVdUBAgPUkYdFGQHBDcQUQxLA1tMXV1dORYzVBBGBxdCdhUSEVFRRRAEPhhQRw84HlpcDjpMB0UVZE1OCRoDb0paCVAMQwsLWBVNVk0IHwRKVVUCBA4jSQUaHlNKQQQBWwhXDQ0DUwBdWllSVwdAOQ==
37
+ Content-Length:
38
+ - '1879'
39
+ Connection:
40
+ - keep-alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"champions":[{"id":22,"name":"Ashe","active":true,"attackRank":7,"defenseRank":3,"magicRank":2,"difficultyRank":4,"botEnabled":true,"freeToPlay":true,"botMmEnabled":true,"rankedPlayEnabled":true},{"id":114,"name":"Fiora","active":true,"attackRank":10,"defenseRank":4,"magicRank":2,"difficultyRank":5,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":126,"name":"Jayce","active":true,"attackRank":8,"defenseRank":4,"magicRank":3,"difficultyRank":8,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":85,"name":"Kennen","active":true,"attackRank":6,"defenseRank":4,"magicRank":7,"difficultyRank":5,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":117,"name":"Lulu","active":true,"attackRank":4,"defenseRank":5,"magicRank":7,"difficultyRank":7,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":56,"name":"Nocturne","active":true,"attackRank":9,"defenseRank":5,"magicRank":2,"difficultyRank":6,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":80,"name":"Pantheon","active":true,"attackRank":9,"defenseRank":4,"magicRank":3,"difficultyRank":5,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":133,"name":"Quinn","active":true,"attackRank":9,"defenseRank":4,"magicRank":2,"difficultyRank":7,"botEnabled":false,"freeToPlay":true,"botMmEnabled":false,"rankedPlayEnabled":true},{"id":37,"name":"Sona","active":true,"attackRank":5,"defenseRank":2,"magicRank":8,"difficultyRank":1,"botEnabled":true,"freeToPlay":true,"botMmEnabled":true,"rankedPlayEnabled":true},{"id":5,"name":"XinZhao","active":true,"attackRank":8,"defenseRank":6,"magicRank":3,"difficultyRank":3,"botEnabled":true,"freeToPlay":true,"botMmEnabled":true,"rankedPlayEnabled":true}]}'
44
+ http_version:
45
+ recorded_at: Wed, 29 Jan 2014 18:27:07 GMT
46
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://prod.api.pvp.net/api/lol/euw/v1.2/stats/by-summoner/50519866/summary?api_key=a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - prod.api.pvp.net
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Access-Control-Allow-Headers:
24
+ - Content-Type
25
+ Access-Control-Allow-Methods:
26
+ - GET, POST, DELETE, PUT
27
+ Access-Control-Allow-Origin:
28
+ - '*'
29
+ Content-Type:
30
+ - application/json;charset=UTF-8
31
+ Date:
32
+ - Wed, 29 Jan 2014 18:28:16 GMT
33
+ Server:
34
+ - Jetty(9.1.0.v20131115)
35
+ X-Newrelic-App-Data:
36
+ - PxQFWFFSDwQTVVdUBAgPUkYdFGQHBDcQUQxLA1tMXV1dORYzVBBGBxdCdhUSEVFRRRAEPhhQRw84HlpcDjpMB0UVZE1OCRoAb0pKFVAVQD5LVE5MFRZVXl8KBBBrHkQTCVxZXQcUKgZsTUsXVVVVQEpHFVEfUR9SSgYHUFNbCwQJXE1PBh0VBV1TAQFTXwYAUgReAV0IFm8=
37
+ Content-Length:
38
+ - '676'
39
+ Connection:
40
+ - keep-alive
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"summonerId":50519866,"playerStatSummaries":[{"playerStatSummaryType":"CoopVsAI","wins":14,"modifyDate":1389972770000,"aggregatedStats":{"totalChampionKills":84,"totalMinionKills":1678,"totalTurretsKilled":32,"totalNeutralMinionsKilled":347,"totalAssists":86}},{"playerStatSummaryType":"OdinUnranked","wins":0,"modifyDate":1389972770000,"aggregatedStats":{}},{"playerStatSummaryType":"Unranked","wins":17,"modifyDate":1390734105000,"aggregatedStats":{"totalChampionKills":251,"totalMinionKills":2195,"totalTurretsKilled":42,"totalNeutralMinionsKilled":473,"totalAssists":167}},{"playerStatSummaryType":"Unranked3x3","wins":0,"modifyDate":1389972770000,"aggregatedStats":{}}]}'
44
+ http_version:
45
+ recorded_at: Wed, 29 Jan 2014 18:28:16 GMT
46
+ recorded_with: VCR 2.8.0
@@ -1,13 +1,13 @@
1
+ require 'setup_vcr'
1
2
  require 'league_of_legends/api'
2
3
 
3
4
  describe ::LeagueOfLegends::Api do
4
5
 
5
- let(:api) { ::LeagueOfLegends::Api.new '0c78469b-b773-4b35-9f6a-00d7fe964290
6
- ' }
6
+ let(:api) { ::LeagueOfLegends::Api.new 'a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1' }
7
7
 
8
8
  it "has access to an API key" do
9
- pending "testing with real key"
10
- expect(api.key).to eq 'a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1'
9
+ expect(api.key).to be_an_instance_of String
10
+ expect(api.key.length).to eq 36
11
11
  end
12
12
 
13
13
  it "has a base url" do
@@ -19,8 +19,12 @@ describe ::LeagueOfLegends::Api do
19
19
  end
20
20
 
21
21
  it "can send requests and receive a response" do
22
- pending "requires internet connection"
23
- expect(api.get(:summoner_stats_summary, 12345)).to be_an_instance_of ::LeagueOfLegends::DTO::PlayerStatsSummaryList
22
+ VCR.use_cassette('api_spec summoner_stats_summary') do
23
+ expect(api.get(:summoner_stats_summary, 50519866)).to be_an_instance_of ::LeagueOfLegends::DTO::PlayerStatsSummaryList
24
+ end
25
+ VCR.use_cassette('api_spec champions') do
26
+ expect(api.get(:champions, true)).to be_an_instance_of ::LeagueOfLegends::DTO::ChampionList
27
+ end
24
28
  end
25
29
 
26
30
  end
@@ -0,0 +1,33 @@
1
+ require 'league_of_legends/api'
2
+ require 'league_of_legends/request/champion'
3
+ require 'league_of_legends/dto/champion_list'
4
+
5
+ describe ::LeagueOfLegends::Request::Champion do
6
+
7
+ let(:api) { ::LeagueOfLegends::Api.new 'a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1' }
8
+
9
+ def request f2p
10
+ described_class.new(api, f2p)
11
+ end
12
+
13
+ it "has the required parameters" do
14
+ expect(described_class.dto_class).to eq ::LeagueOfLegends::DTO::ChampionList
15
+ expect(described_class.version).to eq 'v1.1'
16
+ expect(request(true).region).to eq 'euw'
17
+ expect(request(true).api_key).to be_an_instance_of String
18
+ expect(request(true).api_key.length).to eq 36
19
+ end
20
+
21
+ it "has optional parameters" do
22
+ [[true, 'true'], [false, 'false'], ['x', nil]].each do |f2p|
23
+ expect(request(f2p.first).free_to_play).to eq f2p.last
24
+ end
25
+ end
26
+
27
+ it "can be sent and get a response" do
28
+ VCR.use_cassette('champion_spec f2p') do
29
+ expect(request(true).response).to be_an_instance_of ::LeagueOfLegends::DTO::ChampionList
30
+ end
31
+ end
32
+
33
+ end
@@ -5,6 +5,8 @@ describe ::LeagueOfLegends::Request::Mapper do
5
5
  it "knows the class for certain requests" do
6
6
  req = described_class.get :summoner_stats_summary
7
7
  expect(req).to eq ::LeagueOfLegends::Request::Stats::BySummoner::Summary
8
+ req = described_class.get :champions
9
+ expect(req).to eq ::LeagueOfLegends::Request::Champion
8
10
  end
9
11
 
10
12
  end
@@ -1,5 +1,6 @@
1
1
  require 'league_of_legends/request/stats/by_summoner/summary'
2
2
 
3
+
3
4
  describe ::LeagueOfLegends::Request::Stats::BySummoner::Summary do
4
5
 
5
6
  let(:api) { ::LeagueOfLegends::Api.new 'a1a1a1a1-a1a1-a1a1-a1a1-a1a1a1a1a1a1' }
@@ -17,8 +18,9 @@ describe ::LeagueOfLegends::Request::Stats::BySummoner::Summary do
17
18
  end
18
19
 
19
20
  it "can be sent and get a response" do
20
- pending "requires internet connection"
21
- expect(request.response).to be_an_instance_of ::LeagueOfLegends::DTO::PlayerStatsSummaryList
21
+ VCR.use_cassette('summary_spec stats by_summoner') do
22
+ expect(request.response).to be_an_instance_of ::LeagueOfLegends::DTO::PlayerStatsSummaryList
23
+ end
22
24
  end
23
25
 
24
26
  end
data/spec/setup_vcr.rb ADDED
@@ -0,0 +1,6 @@
1
+ require 'vcr'
2
+
3
+ VCR.configure do |c|
4
+ c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
5
+ c.hook_into :webmock
6
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: league_of_legends
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francisco Orvalho
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-28 00:00:00.000000000 Z
11
+ date: 2014-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,54 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 2.14.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.14.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: vcr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '2.8'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '2.8'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: 1.8.0
76
+ - - <
77
+ - !ruby/object:Gem::Version
78
+ version: '1.16'
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - '>='
84
+ - !ruby/object:Gem::Version
85
+ version: 1.8.0
86
+ - - <
87
+ - !ruby/object:Gem::Version
88
+ version: '1.16'
41
89
  description: |-
42
90
  This gem implements the League Of Legends API (currently in open beta). It will continue to be updated as the API evolves.
43
91
  Please see the README at https://github.com/forvalho/league_of_legends/blob/master/README.md
@@ -65,9 +113,14 @@ files:
65
113
  - lib/league_of_legends/dto/player_stats_summary_list.rb
66
114
  - lib/league_of_legends/request/all.rb
67
115
  - lib/league_of_legends/request/base.rb
116
+ - lib/league_of_legends/request/champion.rb
68
117
  - lib/league_of_legends/request/mapper.rb
69
118
  - lib/league_of_legends/request/stats/by_summoner/summary.rb
70
119
  - lib/league_of_legends/version.rb
120
+ - spec/fixtures/vcr_cassettes/api_spec_champions.yml
121
+ - spec/fixtures/vcr_cassettes/api_spec_summoner_stats_summary.yml
122
+ - spec/fixtures/vcr_cassettes/champion_spec_f2p.yml
123
+ - spec/fixtures/vcr_cassettes/summary_spec_stats_by_summoner.yml
71
124
  - spec/league_of_legends/api_spec.rb
72
125
  - spec/league_of_legends/dto/aggregated_stats_spec.rb
73
126
  - spec/league_of_legends/dto/base_spec.rb
@@ -76,8 +129,10 @@ files:
76
129
  - spec/league_of_legends/dto/player_stats_summary_list_spec.rb
77
130
  - spec/league_of_legends/dto/player_stats_summary_spec.rb
78
131
  - spec/league_of_legends/request/base_spec.rb
132
+ - spec/league_of_legends/request/champion_spec.rb
79
133
  - spec/league_of_legends/request/mapper_spec.rb
80
134
  - spec/league_of_legends/request/stats/by_summoner/summary_spec.rb
135
+ - spec/setup_vcr.rb
81
136
  homepage: http://github.com/forvalho/league_of_legends
82
137
  licenses:
83
138
  - MIT
@@ -103,6 +158,10 @@ signing_key:
103
158
  specification_version: 4
104
159
  summary: Implementation of the LoL API
105
160
  test_files:
161
+ - spec/fixtures/vcr_cassettes/api_spec_champions.yml
162
+ - spec/fixtures/vcr_cassettes/api_spec_summoner_stats_summary.yml
163
+ - spec/fixtures/vcr_cassettes/champion_spec_f2p.yml
164
+ - spec/fixtures/vcr_cassettes/summary_spec_stats_by_summoner.yml
106
165
  - spec/league_of_legends/api_spec.rb
107
166
  - spec/league_of_legends/dto/aggregated_stats_spec.rb
108
167
  - spec/league_of_legends/dto/base_spec.rb
@@ -111,6 +170,8 @@ test_files:
111
170
  - spec/league_of_legends/dto/player_stats_summary_list_spec.rb
112
171
  - spec/league_of_legends/dto/player_stats_summary_spec.rb
113
172
  - spec/league_of_legends/request/base_spec.rb
173
+ - spec/league_of_legends/request/champion_spec.rb
114
174
  - spec/league_of_legends/request/mapper_spec.rb
115
175
  - spec/league_of_legends/request/stats/by_summoner/summary_spec.rb
176
+ - spec/setup_vcr.rb
116
177
  has_rdoc: