vigor 0.5.0 → 0.6.0
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 +7 -0
- data/lib/vigor.rb +29 -11
- data/lib/vigor/client.rb +1 -0
- data/lib/vigor/error.rb +6 -3
- data/lib/vigor/game.rb +6 -2
- data/lib/vigor/summoner.rb +25 -4
- data/lib/vigor/team.rb +63 -0
- data/spec/cassettes/Vigor/can_be_configured_for_region_case-insensitively.yml +38 -0
- data/spec/cassettes/Vigor/can_get_a_champion_by_name.yml +8 -8
- data/spec/cassettes/Vigor/{can_find_a_summoner_by_id.yml → can_get_a_summoner_by_id.yml} +8 -9
- data/spec/cassettes/Vigor/{can_find_a_summoner_by_name.yml → can_get_a_summoner_by_name.yml} +9 -10
- data/spec/cassettes/Vigor/can_get_all_champions.yml +6 -6
- data/spec/cassettes/Vigor/can_get_free-to-play_champions.yml +7 -7
- data/spec/cassettes/Vigor/can_get_game_data_for_games_with_a_single_player.yml +73 -0
- data/spec/cassettes/Vigor/can_get_recent_games.yml +17 -18
- data/spec/cassettes/Vigor/{can_find_summoners_whose_names_have_whitespace.yml → can_get_summoners_whose_names_have_whitespace.yml} +9 -10
- data/spec/cassettes/Vigor/raises_an_exception_when_no_summoner_id_exists.yml +10 -46
- data/spec/cassettes/Vigor/raises_an_exception_when_no_summoner_name_exists.yml +8 -8
- data/spec/cassettes/Vigor/raises_an_exception_when_using_a_bad_key.yml +4 -29
- data/spec/cassettes/Vigor/sorts_recent_games_by_most_recent.yml +38 -0
- data/spec/cassettes/Vigor/works_on_servers_other_than_NA.yml +8 -9
- data/spec/cassettes/Vigor_Summoner/can_fetch_masteries.yml +47 -46
- data/spec/cassettes/Vigor_Summoner/can_fetch_runes.yml +99 -100
- data/spec/cassettes/Vigor_Summoner/can_fetch_team_information.yml +247 -0
- data/spec/cassettes/Vigor_Summoner/will_grab_extra_information_when_needed.yml +82 -13
- data/spec/cassettes/Vigor_Team/can_get_all_teams_for_a_summoner.yml +218 -0
- data/spec/cassettes/Vigor_Team/can_get_info_on_individual_members.yml +212 -0
- data/spec/cassettes/Vigor_Team/can_get_map_stats_for_a_team.yml +212 -0
- data/spec/cassettes/Vigor_Team/can_get_the_match_history_for_a_team.yml +212 -0
- data/spec/error_spec.rb +36 -0
- data/spec/spec_helper.rb +10 -2
- data/spec/summoner_spec.rb +31 -17
- data/spec/team_spec.rb +53 -0
- data/spec/vigor_configure_spec.rb +18 -0
- data/spec/vigor_error_spec.rb +31 -0
- data/spec/vigor_spec.rb +64 -76
- metadata +69 -54
data/spec/error_spec.rb
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
describe Vigor::Error do
|
|
2
|
+
|
|
3
|
+
describe 'from status' do
|
|
4
|
+
|
|
5
|
+
context 'unexpected response' do
|
|
6
|
+
it 'returns ApiError' do
|
|
7
|
+
expect(Vigor::Error.from_status(-1)).to eq Vigor::Error::ApiError
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
context 'status 400' do
|
|
12
|
+
it 'returns BadRequest' do
|
|
13
|
+
expect(Vigor::Error.from_status(400)).to eq Vigor::Error::BadRequest
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
context 'status 401' do
|
|
18
|
+
it 'returns Unauthorized' do
|
|
19
|
+
expect(Vigor::Error.from_status(401)).to eq Vigor::Error::Unauthorized
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
context 'status 404' do
|
|
24
|
+
it 'returns SummonerNotFound' do
|
|
25
|
+
expect(Vigor::Error.from_status(404)).to eq Vigor::Error::SummonerNotFound
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
context 'status 500' do
|
|
30
|
+
it 'returns InternalServerError' do
|
|
31
|
+
expect(Vigor::Error.from_status(500)).to eq Vigor::Error::InternalServerError
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -10,6 +10,14 @@ VCR.configure do |c|
|
|
|
10
10
|
c.default_cassette_options[:record] = :new_episodes
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
RSpec.configure do |
|
|
14
|
-
|
|
13
|
+
RSpec.configure do |config|
|
|
14
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
|
15
|
+
|
|
16
|
+
config.expect_with :rspec do |c|
|
|
17
|
+
c.syntax = :expect
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
config.before(:each) do
|
|
21
|
+
Vigor::Client.default_options = {}
|
|
22
|
+
end
|
|
15
23
|
end
|
data/spec/summoner_spec.rb
CHANGED
|
@@ -1,38 +1,52 @@
|
|
|
1
1
|
describe Vigor::Summoner, :vcr do
|
|
2
|
-
|
|
2
|
+
before(:each) do
|
|
3
3
|
Vigor.configure(ENV["API_KEY"])
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
it "can fetch masteries" do
|
|
4
7
|
summoner = Vigor.summoner("semiel")
|
|
5
8
|
pages = summoner.mastery_pages
|
|
6
|
-
pages.length.
|
|
9
|
+
expect(pages.length).to eq 4
|
|
7
10
|
|
|
8
|
-
summoner.current_mastery_page.name.
|
|
11
|
+
expect(summoner.current_mastery_page.name).to eq "Mastery Page 2"
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
first_page.should_not be_current
|
|
13
|
+
expect(pages.first).to_not be_current
|
|
12
14
|
|
|
13
|
-
hardiness =
|
|
14
|
-
hardiness.id.
|
|
15
|
+
hardiness = pages.first.find{|t| t.name = "Hardiness"}
|
|
16
|
+
expect(hardiness.id).to eq 4212
|
|
15
17
|
end
|
|
16
18
|
|
|
17
19
|
it "can fetch runes" do
|
|
18
|
-
Vigor.configure(ENV["API_KEY"])
|
|
19
20
|
summoner = Vigor.summoner("semiel")
|
|
20
21
|
pages = summoner.rune_pages
|
|
21
|
-
pages.length.
|
|
22
|
+
expect(pages.length).to eq 9
|
|
22
23
|
|
|
23
24
|
current = summoner.current_rune_page
|
|
24
|
-
current.name.
|
|
25
|
-
current.
|
|
25
|
+
expect(current.name).to eq "AD/ArPen/Def (Corki/Kha'Zix)"
|
|
26
|
+
expect(current).to be_current
|
|
26
27
|
|
|
27
28
|
slot_1 = current.find{|r| r.slot == 1}
|
|
28
|
-
slot_1.id.
|
|
29
|
+
expect(slot_1.id).to eq 5253
|
|
29
30
|
end
|
|
30
31
|
|
|
31
32
|
it "will grab extra information when needed" do
|
|
32
|
-
Vigor.
|
|
33
|
-
player
|
|
34
|
-
player.
|
|
35
|
-
player.
|
|
36
|
-
|
|
33
|
+
player = Vigor.recent_games("48686086").first.fellow_players.first
|
|
34
|
+
expect(player.name).to eq "Chocolatecharm"
|
|
35
|
+
expect(player.profile_icon_id).to eq 12
|
|
36
|
+
expect(player.team_id).to eq 100
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it "can fetch team information" do
|
|
40
|
+
summoner = Vigor.summoner("idea")
|
|
41
|
+
teams = summoner.teams
|
|
42
|
+
|
|
43
|
+
expect(teams.size).to eq 4
|
|
44
|
+
|
|
45
|
+
karma = teams[2]
|
|
46
|
+
expect(karma.name).to eq "The Karma Police"
|
|
47
|
+
expect(karma.members.size).to eq 8
|
|
48
|
+
expect(karma.status).to eq "PROVISIONAL"
|
|
49
|
+
expect(karma.tag).to eq "CKPD"
|
|
50
|
+
expect(karma.owner.id).to eq 40790714
|
|
37
51
|
end
|
|
38
52
|
end
|
data/spec/team_spec.rb
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
describe Vigor::Team, :vcr do
|
|
2
|
+
before(:each) do
|
|
3
|
+
Vigor.configure(ENV["API_KEY"])
|
|
4
|
+
|
|
5
|
+
@teams = Vigor.teams(31640242)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
it "can get all teams for a summoner" do
|
|
9
|
+
expect(@teams.size).to eq 4
|
|
10
|
+
|
|
11
|
+
karma = @teams[2]
|
|
12
|
+
expect(karma.name).to eq "The Karma Police"
|
|
13
|
+
expect(karma.members.size).to eq 8
|
|
14
|
+
expect(karma.status).to eq "PROVISIONAL"
|
|
15
|
+
expect(karma.tag).to eq "CKPD"
|
|
16
|
+
expect(karma.owner.id).to eq 40790714
|
|
17
|
+
expect(karma.last_join_dates.map(&:to_s)).to eq ["2013-12-12T04:30:21+00:00", "2013-12-06T18:56:16+00:00", "2013-12-06T06:55:21+00:00"]
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it "can get the match history for a team" do
|
|
21
|
+
history = @teams[2].recent_games
|
|
22
|
+
expect(history.size).to eq 3
|
|
23
|
+
last_game = history.first
|
|
24
|
+
expect(last_game.assists).to eq 5
|
|
25
|
+
expect(last_game.deaths).to eq 21
|
|
26
|
+
expect(last_game.kills).to eq 9
|
|
27
|
+
expect(last_game.map_id).to eq 1
|
|
28
|
+
expect(last_game.id).to eq 1191217681
|
|
29
|
+
expect(last_game.game_mode).to eq "CLASSIC"
|
|
30
|
+
expect(last_game.win?).to be false
|
|
31
|
+
expect(last_game.opposing_team_kills).to eq 21
|
|
32
|
+
expect(last_game.opposing_team_name).to eq "WO CA NY"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it "can get info on individual members" do
|
|
36
|
+
member = @teams[2].members[1]
|
|
37
|
+
expect(member.invite_date.to_s).to eq "2013-12-05T22:25:04+00:00"
|
|
38
|
+
expect(member.join_date.to_s).to eq "2013-12-06T06:55:21+00:00"
|
|
39
|
+
expect(member.id).to eq 43083658
|
|
40
|
+
expect(member.status).to eq "MEMBER"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it "can get map stats for a team" do
|
|
44
|
+
karma = @teams[2]
|
|
45
|
+
expect(karma.treeline_stats.wins).to eq 0
|
|
46
|
+
expect(karma.treeline_stats.losses).to eq 0
|
|
47
|
+
expect(karma.treeline_stats.average_games_played).to eq 0
|
|
48
|
+
expect(karma.rift_stats.wins).to eq 1
|
|
49
|
+
expect(karma.rift_stats.losses).to eq 2
|
|
50
|
+
expect(karma.rift_stats.average_games_played).to eq 0
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
describe Vigor, :vcr do
|
|
2
|
+
|
|
3
|
+
it "works on servers other than NA" do
|
|
4
|
+
Vigor.configure(ENV["API_KEY"], "euw")
|
|
5
|
+
summoner = Vigor.summoner("Froggen")
|
|
6
|
+
expect(summoner.id).to eq(19531813)
|
|
7
|
+
expect(summoner.name).to eq("Froggen")
|
|
8
|
+
expect(summoner.level).to eq(30)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it "can be configured for region case-insensitively" do
|
|
12
|
+
Vigor.configure(ENV["API_KEY"], "EuW")
|
|
13
|
+
summoner = Vigor.summoner("Froggen")
|
|
14
|
+
expect(summoner.id).to eq(19531813)
|
|
15
|
+
expect(summoner.name).to eq("Froggen")
|
|
16
|
+
expect(summoner.level).to eq(30)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
describe Vigor, :vcr do
|
|
2
|
+
it "raises an exception when using a bad key" do
|
|
3
|
+
Vigor.configure("bad_key")
|
|
4
|
+
expect{ Vigor.summoner("semiel") }.to raise_error(Vigor::Error::Unauthorized)
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it "raises an exception when no summoner name exists" do
|
|
8
|
+
Vigor.configure(ENV["API_KEY"])
|
|
9
|
+
expect{ Vigor.summoner("invalid1234") }.to raise_error(Vigor::Error::SummonerNotFound)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it "raises an exception when no summoner id exists" do
|
|
13
|
+
Vigor.configure(ENV["API_KEY"])
|
|
14
|
+
expect{ Vigor.summoner(0) }.to raise_error(Vigor::Error::SummonerNotFound)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it "raises an exception when the API is down" do
|
|
18
|
+
stub_request(:get, "http://prod.api.pvp.net/api/lol/na/v1.2/summoner/by-name/semiel?api_key=#{ENV["API_KEY"]}").
|
|
19
|
+
to_return(:status => 500, :body => "", :headers => {})
|
|
20
|
+
Vigor.configure(ENV["API_KEY"])
|
|
21
|
+
expect{ Vigor.summoner("semiel") }.to raise_error(Vigor::Error::InternalServerError)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "raises an exception when Vigor has not been configured" do
|
|
25
|
+
expect{ Vigor.summoner("semiel") }.to raise_error(Vigor::Error::NotConfigured)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "raises an exception when Vigor is configured with an invalid region" do
|
|
29
|
+
expect{ Vigor.configure(ENV["API_KEY"], "xyz") }.to raise_error(Vigor::Error::InvalidRegion)
|
|
30
|
+
end
|
|
31
|
+
end
|
data/spec/vigor_spec.rb
CHANGED
|
@@ -1,111 +1,99 @@
|
|
|
1
1
|
describe Vigor, :vcr do
|
|
2
|
-
|
|
2
|
+
before(:each) do
|
|
3
3
|
Vigor.configure(ENV["API_KEY"])
|
|
4
|
-
summoner = Vigor.summoner("semiel")
|
|
5
|
-
summoner.id.should == 23893133
|
|
6
|
-
summoner.name.should == "Semiel"
|
|
7
|
-
summoner.profile_icon_id.should == 518
|
|
8
|
-
summoner.level.should == 30
|
|
9
4
|
end
|
|
10
5
|
|
|
11
|
-
it "can
|
|
12
|
-
Vigor.
|
|
13
|
-
summoner
|
|
14
|
-
summoner.
|
|
15
|
-
summoner.
|
|
16
|
-
summoner.
|
|
17
|
-
summoner.level.should == 30
|
|
6
|
+
it "can get a summoner by name" do
|
|
7
|
+
summoner = Vigor.summoner("semiel")
|
|
8
|
+
expect(summoner.id).to eq 23893133
|
|
9
|
+
expect(summoner.name).to eq "Semiel"
|
|
10
|
+
expect(summoner.profile_icon_id).to eq 562
|
|
11
|
+
expect(summoner.level).to eq 30
|
|
18
12
|
end
|
|
19
13
|
|
|
20
|
-
it "
|
|
21
|
-
Vigor.
|
|
22
|
-
summoner
|
|
23
|
-
summoner.
|
|
24
|
-
summoner.
|
|
25
|
-
summoner.level.
|
|
14
|
+
it "can get a summoner by id" do
|
|
15
|
+
summoner = Vigor.summoner(23893133)
|
|
16
|
+
expect(summoner.id).to eq 23893133
|
|
17
|
+
expect(summoner.name).to eq "Semiel"
|
|
18
|
+
expect(summoner.profile_icon_id).to eq 562
|
|
19
|
+
expect(summoner.level).to eq 30
|
|
26
20
|
end
|
|
27
21
|
|
|
28
|
-
it "can
|
|
29
|
-
Vigor.configure(ENV["API_KEY"])
|
|
22
|
+
it "can get summoners whose names have whitespace" do
|
|
30
23
|
summoner = Vigor.summoner("Best Riven NA")
|
|
31
|
-
summoner.id.
|
|
32
|
-
summoner.name.
|
|
33
|
-
summoner.level.
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
it "raises an exception when using a bad key" do
|
|
37
|
-
Vigor.configure("bad_key")
|
|
38
|
-
lambda { Vigor.summoner("semiel") }.should raise_error(Vigor::Error::Unauthorized)
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
it "raises an exception when no summoner name exists" do
|
|
42
|
-
Vigor.configure(ENV["API_KEY"])
|
|
43
|
-
lambda { Vigor.summoner("invalid1234") }.should raise_error(Vigor::Error::SummonerNotFound)
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
it "raises an exception when no summoner id exists" do
|
|
47
|
-
Vigor.configure(ENV["API_KEY"])
|
|
48
|
-
lambda { Vigor.summoner(0)}.should raise_error(Vigor::Error::SummonerNotFound)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
it "raises an exception when the API is down" do
|
|
52
|
-
stub_request(:get, "http://prod.api.pvp.net/api/lol/na/v1.1/summoner/by-name/semiel?api_key=#{ENV["API_KEY"]}").
|
|
53
|
-
to_return(:status => 500, :body => "", :headers => {})
|
|
54
|
-
Vigor.configure(ENV["API_KEY"])
|
|
55
|
-
lambda { Vigor.summoner("semiel") }.should raise_error(Vigor::Error::InternalServerError)
|
|
24
|
+
expect(summoner.id).to eq 32400810
|
|
25
|
+
expect(summoner.name).to eq "Best Riven NA"
|
|
26
|
+
expect(summoner.level).to eq 30
|
|
56
27
|
end
|
|
57
28
|
|
|
58
29
|
it "can get all champions" do
|
|
59
|
-
Vigor.configure(ENV["API_KEY"])
|
|
60
30
|
champs = Vigor.all_champions
|
|
61
|
-
champs.length.
|
|
31
|
+
expect(champs.length).to eq 117
|
|
62
32
|
zyra = champs.last
|
|
63
33
|
|
|
64
|
-
zyra.name.
|
|
65
|
-
zyra.id.
|
|
34
|
+
expect(zyra.name).to eq "Zyra"
|
|
35
|
+
expect(zyra.id).to eq 143
|
|
66
36
|
|
|
67
|
-
zyra.
|
|
68
|
-
zyra.
|
|
69
|
-
zyra.has_bot
|
|
70
|
-
zyra.has_mm_bot
|
|
71
|
-
zyra.
|
|
37
|
+
expect(zyra).to be_in_ranked
|
|
38
|
+
expect(zyra).to be_active
|
|
39
|
+
expect(zyra.has_bot?).to be false
|
|
40
|
+
expect(zyra.has_mm_bot?).to be true
|
|
41
|
+
expect(zyra).not_to be_free_to_play
|
|
72
42
|
|
|
73
|
-
zyra.defense.
|
|
74
|
-
zyra.attack.
|
|
75
|
-
zyra.difficulty.
|
|
76
|
-
zyra.magic.
|
|
43
|
+
expect(zyra.defense).to eq 3
|
|
44
|
+
expect(zyra.attack).to eq 4
|
|
45
|
+
expect(zyra.difficulty).to eq 7
|
|
46
|
+
expect(zyra.magic).to eq 8
|
|
77
47
|
end
|
|
78
48
|
|
|
79
49
|
it "can get a champion by name" do
|
|
80
|
-
Vigor.configure(ENV["API_KEY"])
|
|
81
50
|
zyra = Vigor.champion("Zyra")
|
|
82
|
-
zyra.id.
|
|
51
|
+
expect(zyra.id).to eq 143
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
it "can get a champion by id" do
|
|
55
|
+
zyra = Vigor.champion(143)
|
|
56
|
+
expect(zyra.name).to eq "Zyra"
|
|
83
57
|
end
|
|
84
58
|
|
|
85
59
|
it "can get free-to-play champions" do
|
|
86
|
-
Vigor.configure(ENV["API_KEY"])
|
|
87
60
|
free_champs = Vigor.free_to_play
|
|
88
|
-
free_champs.length.
|
|
61
|
+
expect(free_champs.length).to eq 10
|
|
89
62
|
end
|
|
90
63
|
|
|
91
64
|
it "can get recent games" do
|
|
92
|
-
Vigor.configure(ENV["API_KEY"])
|
|
93
65
|
recent_games = Vigor.summoner("Semiel").recent_games
|
|
94
|
-
recent_games.length.
|
|
66
|
+
expect(recent_games.length).to eq 10
|
|
95
67
|
|
|
96
68
|
most_recent = recent_games.first
|
|
97
|
-
most_recent.level.
|
|
98
|
-
most_recent.mode.
|
|
99
|
-
most_recent.type.
|
|
100
|
-
most_recent.
|
|
101
|
-
most_recent.map.
|
|
102
|
-
most_recent.spells.
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
69
|
+
expect(most_recent.level).to eq 30
|
|
70
|
+
expect(most_recent.mode).to eq "FIRSTBLOOD"
|
|
71
|
+
expect(most_recent.type).to eq "MATCHED_GAME"
|
|
72
|
+
expect(most_recent).to_not be_invalid
|
|
73
|
+
expect(most_recent.map).to eq 12
|
|
74
|
+
expect(most_recent.spells).to eq [4, 21]
|
|
75
|
+
expect(most_recent.created_at.year).to eq 2013
|
|
76
|
+
expect(most_recent.created_at.day).to eq 20
|
|
77
|
+
|
|
78
|
+
true_damage_taken = most_recent.stats.find {|stat| stat["id"] == 104 }
|
|
79
|
+
expect(true_damage_taken["value"]).to eq 136
|
|
106
80
|
|
|
107
81
|
players = most_recent.fellow_players
|
|
108
|
-
players.length.
|
|
109
|
-
players.first.champion_id.
|
|
82
|
+
expect(players.length).to eq 1
|
|
83
|
+
expect(players.first.champion_id).to eq 17
|
|
84
|
+
expect(players.first.champion.name).to eq "Teemo"
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
it "sorts recent games by most recent" do
|
|
88
|
+
recent_games = Vigor.recent_games(48686086)
|
|
89
|
+
expect(recent_games.each_cons(2).all? { |x, y| x.created_at > y.created_at }).to be true
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
it "can get game data for games with a single player" do
|
|
93
|
+
recent_games = Vigor.summoner("idea").recent_games
|
|
94
|
+
custom_game = recent_games[8]
|
|
95
|
+
expect(custom_game.champion_id).to eq 92
|
|
96
|
+
expect(custom_game.type).to eq "CUSTOM_GAME"
|
|
97
|
+
expect(custom_game.fellow_players.empty?).to be true
|
|
110
98
|
end
|
|
111
99
|
end
|
metadata
CHANGED
|
@@ -1,78 +1,69 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vigor
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.6.0
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Peter Borah
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date: 2013-12-
|
|
11
|
+
date: 2013-12-31 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: httparty
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- - ~>
|
|
17
|
+
- - "~>"
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
19
|
version: '0.12'
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
|
-
- - ~>
|
|
24
|
+
- - "~>"
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
26
|
version: '0.12'
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: rspec
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
|
-
- - ~>
|
|
31
|
+
- - "~>"
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
37
33
|
version: '2.14'
|
|
38
34
|
type: :development
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
37
|
requirements:
|
|
43
|
-
- - ~>
|
|
38
|
+
- - "~>"
|
|
44
39
|
- !ruby/object:Gem::Version
|
|
45
40
|
version: '2.14'
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
|
47
42
|
name: vcr
|
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
44
|
requirements:
|
|
51
|
-
- - ~>
|
|
45
|
+
- - "~>"
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
53
47
|
version: '2.8'
|
|
54
48
|
type: :development
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
51
|
requirements:
|
|
59
|
-
- - ~>
|
|
52
|
+
- - "~>"
|
|
60
53
|
- !ruby/object:Gem::Version
|
|
61
54
|
version: '2.8'
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
|
63
56
|
name: webmock
|
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
58
|
requirements:
|
|
67
|
-
- - ~>
|
|
59
|
+
- - "~>"
|
|
68
60
|
- !ruby/object:Gem::Version
|
|
69
61
|
version: '1.16'
|
|
70
62
|
type: :development
|
|
71
63
|
prerelease: false
|
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
65
|
requirements:
|
|
75
|
-
- - ~>
|
|
66
|
+
- - "~>"
|
|
76
67
|
- !ruby/object:Gem::Version
|
|
77
68
|
version: '1.16'
|
|
78
69
|
description: This aims to be a idiomatic Ruby wrapper for the League of Legends API.
|
|
@@ -82,74 +73,98 @@ executables: []
|
|
|
82
73
|
extensions: []
|
|
83
74
|
extra_rdoc_files: []
|
|
84
75
|
files:
|
|
85
|
-
- lib/vigor
|
|
86
|
-
- lib/vigor/client.rb
|
|
87
|
-
- lib/vigor/summoner.rb
|
|
76
|
+
- lib/vigor.rb
|
|
88
77
|
- lib/vigor/champion.rb
|
|
89
|
-
- lib/vigor/
|
|
78
|
+
- lib/vigor/client.rb
|
|
90
79
|
- lib/vigor/error.rb
|
|
91
|
-
- lib/vigor/
|
|
92
|
-
- lib/vigor/talent.rb
|
|
80
|
+
- lib/vigor/game.rb
|
|
93
81
|
- lib/vigor/mastery_page.rb
|
|
82
|
+
- lib/vigor/page.rb
|
|
94
83
|
- lib/vigor/rune.rb
|
|
95
|
-
- lib/vigor.rb
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
- spec/cassettes/Vigor/
|
|
84
|
+
- lib/vigor/rune_page.rb
|
|
85
|
+
- lib/vigor/summoner.rb
|
|
86
|
+
- lib/vigor/talent.rb
|
|
87
|
+
- lib/vigor/team.rb
|
|
88
|
+
- spec/cassettes/Vigor/can_be_configured_for_region_case-insensitively.yml
|
|
89
|
+
- spec/cassettes/Vigor/can_get_a_champion_by_name.yml
|
|
90
|
+
- spec/cassettes/Vigor/can_get_a_summoner_by_id.yml
|
|
91
|
+
- spec/cassettes/Vigor/can_get_a_summoner_by_name.yml
|
|
92
|
+
- spec/cassettes/Vigor/can_get_all_champions.yml
|
|
100
93
|
- spec/cassettes/Vigor/can_get_free-to-play_champions.yml
|
|
94
|
+
- spec/cassettes/Vigor/can_get_game_data_for_games_with_a_single_player.yml
|
|
101
95
|
- spec/cassettes/Vigor/can_get_recent_games.yml
|
|
102
|
-
- spec/cassettes/Vigor/
|
|
103
|
-
- spec/cassettes/Vigor/can_get_a_champion_by_name.yml
|
|
96
|
+
- spec/cassettes/Vigor/can_get_summoners_whose_names_have_whitespace.yml
|
|
104
97
|
- spec/cassettes/Vigor/raises_an_exception_when_no_summoner_id_exists.yml
|
|
105
98
|
- spec/cassettes/Vigor/raises_an_exception_when_no_summoner_name_exists.yml
|
|
106
|
-
- spec/cassettes/Vigor/can_find_summoners_whose_names_have_whitespace.yml
|
|
107
|
-
- spec/cassettes/Vigor/can_get_all_champions.yml
|
|
108
99
|
- spec/cassettes/Vigor/raises_an_exception_when_using_a_bad_key.yml
|
|
109
|
-
- spec/cassettes/
|
|
100
|
+
- spec/cassettes/Vigor/sorts_recent_games_by_most_recent.yml
|
|
101
|
+
- spec/cassettes/Vigor/works_on_servers_other_than_NA.yml
|
|
110
102
|
- spec/cassettes/Vigor_Summoner/can_fetch_masteries.yml
|
|
103
|
+
- spec/cassettes/Vigor_Summoner/can_fetch_runes.yml
|
|
104
|
+
- spec/cassettes/Vigor_Summoner/can_fetch_team_information.yml
|
|
111
105
|
- spec/cassettes/Vigor_Summoner/will_grab_extra_information_when_needed.yml
|
|
106
|
+
- spec/cassettes/Vigor_Team/can_get_all_teams_for_a_summoner.yml
|
|
107
|
+
- spec/cassettes/Vigor_Team/can_get_info_on_individual_members.yml
|
|
108
|
+
- spec/cassettes/Vigor_Team/can_get_map_stats_for_a_team.yml
|
|
109
|
+
- spec/cassettes/Vigor_Team/can_get_the_match_history_for_a_team.yml
|
|
110
|
+
- spec/error_spec.rb
|
|
111
|
+
- spec/spec_helper.rb
|
|
112
|
+
- spec/summoner_spec.rb
|
|
113
|
+
- spec/team_spec.rb
|
|
114
|
+
- spec/vigor_configure_spec.rb
|
|
115
|
+
- spec/vigor_error_spec.rb
|
|
112
116
|
- spec/vigor_spec.rb
|
|
113
117
|
homepage: https://github.com/PeterBorah/vigor
|
|
114
118
|
licenses:
|
|
115
119
|
- MIT
|
|
120
|
+
metadata: {}
|
|
116
121
|
post_install_message:
|
|
117
122
|
rdoc_options: []
|
|
118
123
|
require_paths:
|
|
119
124
|
- lib
|
|
120
125
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
121
|
-
none: false
|
|
122
126
|
requirements:
|
|
123
|
-
- -
|
|
127
|
+
- - ">="
|
|
124
128
|
- !ruby/object:Gem::Version
|
|
125
129
|
version: '0'
|
|
126
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
|
-
none: false
|
|
128
131
|
requirements:
|
|
129
|
-
- -
|
|
132
|
+
- - ">="
|
|
130
133
|
- !ruby/object:Gem::Version
|
|
131
134
|
version: '0'
|
|
132
135
|
requirements: []
|
|
133
136
|
rubyforge_project:
|
|
134
|
-
rubygems_version:
|
|
137
|
+
rubygems_version: 2.2.0
|
|
135
138
|
signing_key:
|
|
136
|
-
specification_version:
|
|
139
|
+
specification_version: 4
|
|
137
140
|
summary: Unofficial League of Legends API wrapper
|
|
138
141
|
test_files:
|
|
139
|
-
- spec/
|
|
140
|
-
- spec/
|
|
142
|
+
- spec/team_spec.rb
|
|
143
|
+
- spec/cassettes/Vigor_Summoner/can_fetch_team_information.yml
|
|
144
|
+
- spec/cassettes/Vigor_Summoner/can_fetch_runes.yml
|
|
145
|
+
- spec/cassettes/Vigor_Summoner/will_grab_extra_information_when_needed.yml
|
|
146
|
+
- spec/cassettes/Vigor_Summoner/can_fetch_masteries.yml
|
|
147
|
+
- spec/cassettes/Vigor/raises_an_exception_when_no_summoner_name_exists.yml
|
|
148
|
+
- spec/cassettes/Vigor/raises_an_exception_when_using_a_bad_key.yml
|
|
149
|
+
- spec/cassettes/Vigor/can_get_a_summoner_by_id.yml
|
|
150
|
+
- spec/cassettes/Vigor/raises_an_exception_when_no_summoner_id_exists.yml
|
|
151
|
+
- spec/cassettes/Vigor/can_get_game_data_for_games_with_a_single_player.yml
|
|
152
|
+
- spec/cassettes/Vigor/can_get_a_champion_by_name.yml
|
|
141
153
|
- spec/cassettes/Vigor/works_on_servers_other_than_NA.yml
|
|
142
|
-
- spec/cassettes/Vigor/
|
|
143
|
-
- spec/cassettes/Vigor/
|
|
154
|
+
- spec/cassettes/Vigor/can_be_configured_for_region_case-insensitively.yml
|
|
155
|
+
- spec/cassettes/Vigor/can_get_summoners_whose_names_have_whitespace.yml
|
|
144
156
|
- spec/cassettes/Vigor/can_get_recent_games.yml
|
|
145
|
-
- spec/cassettes/Vigor/can_find_a_summoner_by_id.yml
|
|
146
|
-
- spec/cassettes/Vigor/can_get_a_champion_by_name.yml
|
|
147
|
-
- spec/cassettes/Vigor/raises_an_exception_when_no_summoner_id_exists.yml
|
|
148
|
-
- spec/cassettes/Vigor/raises_an_exception_when_no_summoner_name_exists.yml
|
|
149
|
-
- spec/cassettes/Vigor/can_find_summoners_whose_names_have_whitespace.yml
|
|
150
157
|
- spec/cassettes/Vigor/can_get_all_champions.yml
|
|
151
|
-
- spec/cassettes/Vigor/
|
|
152
|
-
- spec/cassettes/
|
|
153
|
-
- spec/cassettes/
|
|
154
|
-
- spec/cassettes/
|
|
158
|
+
- spec/cassettes/Vigor/sorts_recent_games_by_most_recent.yml
|
|
159
|
+
- spec/cassettes/Vigor/can_get_free-to-play_champions.yml
|
|
160
|
+
- spec/cassettes/Vigor/can_get_a_summoner_by_name.yml
|
|
161
|
+
- spec/cassettes/Vigor_Team/can_get_all_teams_for_a_summoner.yml
|
|
162
|
+
- spec/cassettes/Vigor_Team/can_get_map_stats_for_a_team.yml
|
|
163
|
+
- spec/cassettes/Vigor_Team/can_get_the_match_history_for_a_team.yml
|
|
164
|
+
- spec/cassettes/Vigor_Team/can_get_info_on_individual_members.yml
|
|
165
|
+
- spec/vigor_error_spec.rb
|
|
166
|
+
- spec/error_spec.rb
|
|
167
|
+
- spec/spec_helper.rb
|
|
168
|
+
- spec/vigor_configure_spec.rb
|
|
155
169
|
- spec/vigor_spec.rb
|
|
170
|
+
- spec/summoner_spec.rb
|