quakelive_api 0.0.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.
- data/.gitignore +21 -0
- data/.travis.yml +9 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +76 -0
- data/Rakefile +14 -0
- data/lib/quakelive_api/base.rb +52 -0
- data/lib/quakelive_api/error/player_not_found.rb +6 -0
- data/lib/quakelive_api/error/request_error.rb +6 -0
- data/lib/quakelive_api/game_time.rb +34 -0
- data/lib/quakelive_api/items/award.rb +7 -0
- data/lib/quakelive_api/items/competitor.rb +7 -0
- data/lib/quakelive_api/items/favourite.rb +7 -0
- data/lib/quakelive_api/items/model.rb +7 -0
- data/lib/quakelive_api/items/recent_game.rb +7 -0
- data/lib/quakelive_api/items/record.rb +7 -0
- data/lib/quakelive_api/items/structurable.rb +13 -0
- data/lib/quakelive_api/items/weapon.rb +7 -0
- data/lib/quakelive_api/parser/awards.rb +50 -0
- data/lib/quakelive_api/parser/base.rb +33 -0
- data/lib/quakelive_api/parser/statistics.rb +81 -0
- data/lib/quakelive_api/parser/summary.rb +174 -0
- data/lib/quakelive_api/profile/awards/base.rb +24 -0
- data/lib/quakelive_api/profile/awards/career_milestones.rb +14 -0
- data/lib/quakelive_api/profile/awards/experience.rb +14 -0
- data/lib/quakelive_api/profile/awards/mad_skillz.rb +14 -0
- data/lib/quakelive_api/profile/awards/social_life.rb +15 -0
- data/lib/quakelive_api/profile/awards/sweet_success.rb +14 -0
- data/lib/quakelive_api/profile/statistics.rb +18 -0
- data/lib/quakelive_api/profile/summary.rb +35 -0
- data/lib/quakelive_api/profile.rb +43 -0
- data/lib/quakelive_api/version.rb +3 -0
- data/lib/quakelive_api.rb +38 -0
- data/quakelive_api.gemspec +28 -0
- data/test/fixtures/awards/career.txt +382 -0
- data/test/fixtures/awards/experience.txt +769 -0
- data/test/fixtures/awards/mad_skillz.txt +915 -0
- data/test/fixtures/awards/social_life.txt +155 -0
- data/test/fixtures/awards/sweet_success.txt +684 -0
- data/test/fixtures/profile/error.txt +24 -0
- data/test/fixtures/profile/not_found.txt +36 -0
- data/test/fixtures/profile/summary.txt +383 -0
- data/test/fixtures/statistics/emqz.txt +431 -0
- data/test/fixtures/statistics/xsi.txt +558 -0
- data/test/fixtures/summary/emqz.txt +304 -0
- data/test/fixtures/summary/mariano.txt +380 -0
- data/test/quakelive_api/game_time_test.rb +51 -0
- data/test/quakelive_api/profile/awards/career_milestones_test.rb +38 -0
- data/test/quakelive_api/profile/awards/experience_test.rb +38 -0
- data/test/quakelive_api/profile/awards/mad_skillz_test.rb +38 -0
- data/test/quakelive_api/profile/awards/social_life_test.rb +38 -0
- data/test/quakelive_api/profile/awards/sweet_success_test.rb +38 -0
- data/test/quakelive_api/profile/statistics_test.rb +75 -0
- data/test/quakelive_api/profile/summary_test.rb +97 -0
- data/test/quakelive_api/profile_test.rb +67 -0
- data/test/test_helper.rb +47 -0
- metadata +220 -0
@@ -0,0 +1,75 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
describe "QuakeliveApi::Profile::Statistics" do
|
4
|
+
make_my_diffs_pretty!()
|
5
|
+
|
6
|
+
describe "black box test for" do
|
7
|
+
before { stub_stats_request(profile, fixture_statistics(profile)) }
|
8
|
+
subject { QuakeliveApi::Profile::Statistics.new(profile) }
|
9
|
+
|
10
|
+
describe "xsi" do
|
11
|
+
let(:profile) { "xsi" }
|
12
|
+
|
13
|
+
it "fetches proper stats for weapons" do
|
14
|
+
[
|
15
|
+
['Gauntlet', 185, nil, nil, nil, 1],
|
16
|
+
['Machinegun', 1232, 29, 64253, 225055, 9],
|
17
|
+
['Shotgun', 2091, 27, 25180, 91693, 9],
|
18
|
+
['Grenade Launcher', 241, 10, 1383, 14163, 3],
|
19
|
+
['Rocket Launcher', 4032, 34, 28182, 83256, 39],
|
20
|
+
['Lightning Gun', 2048, 28, 84326, 304674, 15],
|
21
|
+
['Railgun', 2368, 38, 8339, 21946, 19],
|
22
|
+
['Plasma Gun', 708, 13, 10253, 77655, 5],
|
23
|
+
['BFG', 4, 49, 26, 53, 0],
|
24
|
+
['Chaingun', 37, 21, 1111, 5358, 0],
|
25
|
+
['Nailgun', 18, 13, 466, 3495, 0],
|
26
|
+
['Proximity Mine', 7, 24, 40, 164, 0]
|
27
|
+
].each_with_index do |weapon, index|
|
28
|
+
assert_equal subject.weapons[index], QuakeliveApi::Items::Weapon.new(*weapon)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
it "fetches proper stats for records" do
|
33
|
+
[
|
34
|
+
['Clan Arena', 13, 13, 7, 0, 100, 54],
|
35
|
+
['Capture The Flag', 74, 67, 39, 7, 91, 53],
|
36
|
+
['Free For All', 31, 27, 10, 4, 87, 32],
|
37
|
+
['Domination', 16, 16, 11, 0, 100, 69],
|
38
|
+
['Freeze Tag', 1, 0, 0, 1, 0, 0],
|
39
|
+
['Team Deathmatch', 155, 142, 79, 13, 92, 51],
|
40
|
+
['Duel', 532, 503, 210, 29, 95, 39],
|
41
|
+
['Total', 822, 768, 356, 54, 93, 43]
|
42
|
+
].each_with_index do |record, index|
|
43
|
+
assert_equal subject.records[index], QuakeliveApi::Items::Record.new(*record)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "emqz" do
|
49
|
+
let(:profile) { "emqz" }
|
50
|
+
|
51
|
+
it "fetches proper stats for weapons" do
|
52
|
+
[
|
53
|
+
['Gauntlet', 0, nil, nil, nil, 0],
|
54
|
+
['Machinegun', 0, 0, 0, 0, 0],
|
55
|
+
['Shotgun', 0, 0, 0, 0, 0],
|
56
|
+
['Grenade Launcher', 0, 0, 0, 0, 0],
|
57
|
+
['Rocket Launcher', 0, 0, 0, 0, 0],
|
58
|
+
['Lightning Gun', 0, 0, 0, 0, 0],
|
59
|
+
['Railgun', 0, 0, 0, 0, 0],
|
60
|
+
['Plasma Gun', 0, 0, 0, 0, 0],
|
61
|
+
['BFG', 0, 0, 0, 0, 0],
|
62
|
+
['Chaingun', 0, 0, 0, 0, 0],
|
63
|
+
['Nailgun', 0, 0, 0, 0, 0],
|
64
|
+
['Proximity Mine', 0, 0, 0, 0, 0]
|
65
|
+
].each_with_index do |weapon, index|
|
66
|
+
assert_equal subject.weapons[index], QuakeliveApi::Items::Weapon.new(*weapon)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
it "fetches proper stats for records" do
|
71
|
+
assert_equal subject.records, nil
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
describe "QuakeliveApi::Profile::Summary" do
|
4
|
+
make_my_diffs_pretty!
|
5
|
+
|
6
|
+
describe "black box test for" do
|
7
|
+
before { stub_summary_request(profile, fixture_summary(profile)) }
|
8
|
+
subject { QuakeliveApi::Profile::Summary.new(profile) }
|
9
|
+
|
10
|
+
describe "emqz" do
|
11
|
+
let(:profile) { "emqz" }
|
12
|
+
|
13
|
+
its(:country) { must_equal "Poland" }
|
14
|
+
its(:nick) { must_equal "emqz"}
|
15
|
+
its(:clan) { must_equal nil }
|
16
|
+
|
17
|
+
its(:model) { must_equal QuakeliveApi::Items::Model.new(
|
18
|
+
"Major / Default",
|
19
|
+
"http://cdn.quakelive.com/web/2013071600/images/players/body_md/major_default_v2013071600.0.png") }
|
20
|
+
|
21
|
+
its(:member_since) { must_equal Date.parse('23.06.2013') }
|
22
|
+
its(:last_game) { must_equal nil }
|
23
|
+
its(:time_played) { must_equal nil }
|
24
|
+
its(:wins) { must_equal 0 }
|
25
|
+
its(:losses) { must_equal 0 }
|
26
|
+
its(:quits) { must_equal 0 }
|
27
|
+
its(:frags) { must_equal 0 }
|
28
|
+
its(:deaths) { must_equal 0 }
|
29
|
+
its(:hits) { must_equal 0 }
|
30
|
+
its(:shots) { must_equal 0 }
|
31
|
+
its(:accuracy) { must_equal 0.0 }
|
32
|
+
its(:favourite) { must_equal QuakeliveApi::Items::Favourite.new(nil, nil, nil) }
|
33
|
+
its(:recent_awards) { must_equal nil }
|
34
|
+
its(:recent_games) { must_equal nil }
|
35
|
+
its(:recent_competitors) { must_equal nil }
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "mariano" do
|
39
|
+
let(:profile){ "mariano" }
|
40
|
+
|
41
|
+
its(:country) { must_equal "Poland" }
|
42
|
+
its(:nick) { must_equal "Mariano"}
|
43
|
+
its(:clan) { must_equal nil }
|
44
|
+
|
45
|
+
its(:model) { must_equal QuakeliveApi::Items::Model.new(
|
46
|
+
"Bitterman / Default",
|
47
|
+
"http://cdn.quakelive.com/web/2013071600/images/players/body_md/bitterman_default_v2013071600.0.png") }
|
48
|
+
|
49
|
+
its(:member_since) { must_equal Date.parse('7.02.2009') }
|
50
|
+
its(:last_game) { must_equal Time.parse('11-07-2013 2:59 PM') }
|
51
|
+
its(:time_played) { must_equal QuakeliveApi::GameTime.new("Ranked Time: 52.19:25:52 Unranked Time: 02:31:02") }
|
52
|
+
its(:wins) { must_equal 4278 }
|
53
|
+
its(:losses) { must_equal 3015 }
|
54
|
+
its(:quits) { must_equal 518 }
|
55
|
+
its(:frags) { must_equal 97_102 }
|
56
|
+
its(:deaths) { must_equal 88_381 }
|
57
|
+
its(:hits) { must_equal 1_960_767 }
|
58
|
+
its(:shots) { must_equal 6_085_608 }
|
59
|
+
its(:accuracy) { must_equal 32.22 }
|
60
|
+
its(:favourite) { must_equal QuakeliveApi::Items::Favourite.new("Furious Heights","Duel","Lightning Gun") }
|
61
|
+
its(:recent_awards) { must_include QuakeliveApi::Items::Award.new(
|
62
|
+
'http://cdn.quakelive.com/web/2013071600/images/awards/md/team_killer_v2013071600.0.png',
|
63
|
+
'Hope you touched the flag first!',
|
64
|
+
'Team Killer',
|
65
|
+
'Awarded 2 months ago',
|
66
|
+
'Kill all players on the opposing team in a single round in Attack & Defend, minimum size 3.') }
|
67
|
+
|
68
|
+
its(:recent_awards) { must_include QuakeliveApi::Items::Award.new(
|
69
|
+
'http://cdn.quakelive.com/web/2013071600/images/awards/md/pql_1_v2013071600.0.png',
|
70
|
+
'Do you think thats air youre breathing now?',
|
71
|
+
'Too Fast',
|
72
|
+
'Awarded 2 months ago',
|
73
|
+
'Complete 1 online PQL match.') }
|
74
|
+
|
75
|
+
its(:recent_games) { must_be_instance_of Array }
|
76
|
+
its(:recent_games) { wont_include nil }
|
77
|
+
its(:recent_games) { must_include QuakeliveApi::Items::RecentGame.new(
|
78
|
+
'TDM',
|
79
|
+
'Loss',
|
80
|
+
'20 days ago',
|
81
|
+
'http://cdn.quakelive.com/web/2013071600/images/levelshots/lg/hiddenfortress_v2013071600.0.jpg')
|
82
|
+
}
|
83
|
+
|
84
|
+
its(:recent_competitors) { wont_include nil }
|
85
|
+
its(:recent_competitors) { must_be_instance_of Array }
|
86
|
+
its(:recent_competitors) { must_include QuakeliveApi::Items::Competitor.new(
|
87
|
+
'http://cdn.quakelive.com/web/2013071600/images/players/icon_lg/bitterman_red_v2013071600.0.png',
|
88
|
+
'Jeezy',
|
89
|
+
Time.parse('2013-07-11 14:59:00'))}
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
@@ -0,0 +1,67 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
describe "QuakeliveApi::Profile" do
|
4
|
+
|
5
|
+
describe "on error" do
|
6
|
+
it "raises an exception on non existing profiles" do
|
7
|
+
stub_summary_request "not-here", fixture_profile("not_found")
|
8
|
+
profile = QuakeliveApi::Profile.new('not-here')
|
9
|
+
assert_raises(QuakeliveApi::Error::PlayerNotFound) { profile.summary }
|
10
|
+
end
|
11
|
+
|
12
|
+
it "raises an exception on request error response from ql" do
|
13
|
+
stub_summary_request "error-profile", fixture_profile("error")
|
14
|
+
profile = QuakeliveApi::Profile.new('error-profile')
|
15
|
+
assert_raises(QuakeliveApi::Error::RequestError) { profile.summary }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "on success" do
|
20
|
+
it "returns an instance of summary class on 'summary' call" do
|
21
|
+
stub_summary_request "all-good", fixture_summary("emqz")
|
22
|
+
profile = QuakeliveApi::Profile.new('all-good')
|
23
|
+
assert_instance_of QuakeliveApi::Profile::Summary, profile.summary
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns an instance of statistics class on 'statistics' call" do
|
27
|
+
stub_stats_request "stats-test", fixture_statistics("xsi")
|
28
|
+
profile = QuakeliveApi::Profile.new('stats-test')
|
29
|
+
assert_instance_of QuakeliveApi::Profile::Statistics, profile.statistics
|
30
|
+
end
|
31
|
+
|
32
|
+
it "returns an instance of career milestones class on 'awards_milestones' call" do
|
33
|
+
profile = QuakeliveApi::Profile.new('awards-test')
|
34
|
+
stub_request(:get, "http://www.quakelive.com/profile/awards/awards-test/3")
|
35
|
+
assert_instance_of QuakeliveApi::Profile::Awards::CareerMilestones, profile.awards_milestones
|
36
|
+
end
|
37
|
+
|
38
|
+
it "returns an instance of experience class on 'awards_experience' call" do
|
39
|
+
profile = QuakeliveApi::Profile.new('awards-test')
|
40
|
+
stub_request(:get, "http://www.quakelive.com/profile/awards/awards-test/1")
|
41
|
+
assert_instance_of QuakeliveApi::Profile::Awards::Experience, profile.awards_experience
|
42
|
+
end
|
43
|
+
|
44
|
+
it "returns an instance of mad skillz class on 'awards_skillz' call" do
|
45
|
+
profile = QuakeliveApi::Profile.new('awards-test')
|
46
|
+
stub_request(:get, "http://www.quakelive.com/profile/awards/awards-test/2")
|
47
|
+
assert_instance_of QuakeliveApi::Profile::Awards::MadSkillz, profile.awards_skillz
|
48
|
+
end
|
49
|
+
|
50
|
+
it "returns an instance of social life class on 'awards_social' call" do
|
51
|
+
profile = QuakeliveApi::Profile.new('awards-test')
|
52
|
+
stub_request(:get, "http://www.quakelive.com/profile/awards/awards-test/5")
|
53
|
+
assert_instance_of QuakeliveApi::Profile::Awards::SocialLife, profile.awards_social
|
54
|
+
end
|
55
|
+
|
56
|
+
it "returns an instance of sweet success class on 'awards_success' call" do
|
57
|
+
profile = QuakeliveApi::Profile.new('awards-test')
|
58
|
+
stub_request(:get, "http://www.quakelive.com/profile/awards/awards-test/4")
|
59
|
+
assert_instance_of QuakeliveApi::Profile::Awards::SweetSuccess, profile.awards_success
|
60
|
+
end
|
61
|
+
|
62
|
+
it "responds to each_award" do
|
63
|
+
profile = QuakeliveApi::Profile.new('awards-test')
|
64
|
+
assert_respond_to(profile, :each_award)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
SimpleCov.start
|
3
|
+
require "minitest/autorun"
|
4
|
+
require "webmock/minitest"
|
5
|
+
|
6
|
+
require "#{File.dirname(__FILE__)}/../lib/quakelive_api"
|
7
|
+
|
8
|
+
def fixtures_path
|
9
|
+
"#{File.dirname(__FILE__)}/fixtures"
|
10
|
+
end
|
11
|
+
|
12
|
+
def fixture_profile(name)
|
13
|
+
File.read "#{fixtures_path}/profile/#{name}.txt"
|
14
|
+
end
|
15
|
+
|
16
|
+
def fixture_summary(name)
|
17
|
+
File.read "#{fixtures_path}/summary/#{name}.txt"
|
18
|
+
end
|
19
|
+
|
20
|
+
def fixture_statistics(name)
|
21
|
+
File.read "#{fixtures_path}/statistics/#{name}.txt"
|
22
|
+
end
|
23
|
+
|
24
|
+
def fixture_awards(name)
|
25
|
+
File.read "#{fixtures_path}/awards/#{name}.txt"
|
26
|
+
end
|
27
|
+
|
28
|
+
def stub_summary_request(profile_name, content)
|
29
|
+
stub_request(:get, "#{QuakeliveApi.site}/profile/summary/#{profile_name}").to_return(content)
|
30
|
+
end
|
31
|
+
|
32
|
+
def stub_stats_request(profile_name, content)
|
33
|
+
stub_request(:get, "#{QuakeliveApi.site}/profile/statistics/#{profile_name}").to_return(content)
|
34
|
+
end
|
35
|
+
|
36
|
+
# taken from its-minitest gem, as I'm used to rspec syntax (and it's quite convenient for blackbox testing)
|
37
|
+
class MiniTest::Spec
|
38
|
+
def self.its attribute, &block
|
39
|
+
describe "verify subject.#{attribute} for" do
|
40
|
+
let(:inner_subject) { subject.send(attribute) }
|
41
|
+
|
42
|
+
it "verify subject.#{attribute} for" do
|
43
|
+
inner_subject.instance_eval &block
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
metadata
ADDED
@@ -0,0 +1,220 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: quakelive_api
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Rafal Wojsznis
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-09-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: nokogiri
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.5'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.5'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: bundler
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '1.3'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '1.3'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: minitest
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 5.0.0
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 5.0.0
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: webmock
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 1.12.0
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.12.0
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: simplecov
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 0.8.0.pre
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.8.0.pre
|
110
|
+
description: Pseudo API for QuakeLive
|
111
|
+
email:
|
112
|
+
- rafal.wojsznis@gmail.com
|
113
|
+
executables: []
|
114
|
+
extensions: []
|
115
|
+
extra_rdoc_files: []
|
116
|
+
files:
|
117
|
+
- .gitignore
|
118
|
+
- .travis.yml
|
119
|
+
- Gemfile
|
120
|
+
- LICENSE.txt
|
121
|
+
- README.md
|
122
|
+
- Rakefile
|
123
|
+
- lib/quakelive_api.rb
|
124
|
+
- lib/quakelive_api/base.rb
|
125
|
+
- lib/quakelive_api/error/player_not_found.rb
|
126
|
+
- lib/quakelive_api/error/request_error.rb
|
127
|
+
- lib/quakelive_api/game_time.rb
|
128
|
+
- lib/quakelive_api/items/award.rb
|
129
|
+
- lib/quakelive_api/items/competitor.rb
|
130
|
+
- lib/quakelive_api/items/favourite.rb
|
131
|
+
- lib/quakelive_api/items/model.rb
|
132
|
+
- lib/quakelive_api/items/recent_game.rb
|
133
|
+
- lib/quakelive_api/items/record.rb
|
134
|
+
- lib/quakelive_api/items/structurable.rb
|
135
|
+
- lib/quakelive_api/items/weapon.rb
|
136
|
+
- lib/quakelive_api/parser/awards.rb
|
137
|
+
- lib/quakelive_api/parser/base.rb
|
138
|
+
- lib/quakelive_api/parser/statistics.rb
|
139
|
+
- lib/quakelive_api/parser/summary.rb
|
140
|
+
- lib/quakelive_api/profile.rb
|
141
|
+
- lib/quakelive_api/profile/awards/base.rb
|
142
|
+
- lib/quakelive_api/profile/awards/career_milestones.rb
|
143
|
+
- lib/quakelive_api/profile/awards/experience.rb
|
144
|
+
- lib/quakelive_api/profile/awards/mad_skillz.rb
|
145
|
+
- lib/quakelive_api/profile/awards/social_life.rb
|
146
|
+
- lib/quakelive_api/profile/awards/sweet_success.rb
|
147
|
+
- lib/quakelive_api/profile/statistics.rb
|
148
|
+
- lib/quakelive_api/profile/summary.rb
|
149
|
+
- lib/quakelive_api/version.rb
|
150
|
+
- quakelive_api.gemspec
|
151
|
+
- test/fixtures/awards/career.txt
|
152
|
+
- test/fixtures/awards/experience.txt
|
153
|
+
- test/fixtures/awards/mad_skillz.txt
|
154
|
+
- test/fixtures/awards/social_life.txt
|
155
|
+
- test/fixtures/awards/sweet_success.txt
|
156
|
+
- test/fixtures/profile/error.txt
|
157
|
+
- test/fixtures/profile/not_found.txt
|
158
|
+
- test/fixtures/profile/summary.txt
|
159
|
+
- test/fixtures/statistics/emqz.txt
|
160
|
+
- test/fixtures/statistics/xsi.txt
|
161
|
+
- test/fixtures/summary/emqz.txt
|
162
|
+
- test/fixtures/summary/mariano.txt
|
163
|
+
- test/quakelive_api/game_time_test.rb
|
164
|
+
- test/quakelive_api/profile/awards/career_milestones_test.rb
|
165
|
+
- test/quakelive_api/profile/awards/experience_test.rb
|
166
|
+
- test/quakelive_api/profile/awards/mad_skillz_test.rb
|
167
|
+
- test/quakelive_api/profile/awards/social_life_test.rb
|
168
|
+
- test/quakelive_api/profile/awards/sweet_success_test.rb
|
169
|
+
- test/quakelive_api/profile/statistics_test.rb
|
170
|
+
- test/quakelive_api/profile/summary_test.rb
|
171
|
+
- test/quakelive_api/profile_test.rb
|
172
|
+
- test/test_helper.rb
|
173
|
+
homepage: https://github.com/emq/quakelive_api
|
174
|
+
licenses:
|
175
|
+
- MIT
|
176
|
+
post_install_message:
|
177
|
+
rdoc_options: []
|
178
|
+
require_paths:
|
179
|
+
- lib
|
180
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
181
|
+
none: false
|
182
|
+
requirements:
|
183
|
+
- - ! '>='
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0'
|
186
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
|
+
none: false
|
188
|
+
requirements:
|
189
|
+
- - ! '>='
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '0'
|
192
|
+
requirements: []
|
193
|
+
rubyforge_project:
|
194
|
+
rubygems_version: 1.8.25
|
195
|
+
signing_key:
|
196
|
+
specification_version: 3
|
197
|
+
summary: Fetch some basic information from QuakeLive site
|
198
|
+
test_files:
|
199
|
+
- test/fixtures/awards/career.txt
|
200
|
+
- test/fixtures/awards/experience.txt
|
201
|
+
- test/fixtures/awards/mad_skillz.txt
|
202
|
+
- test/fixtures/awards/social_life.txt
|
203
|
+
- test/fixtures/awards/sweet_success.txt
|
204
|
+
- test/fixtures/profile/error.txt
|
205
|
+
- test/fixtures/profile/not_found.txt
|
206
|
+
- test/fixtures/profile/summary.txt
|
207
|
+
- test/fixtures/statistics/emqz.txt
|
208
|
+
- test/fixtures/statistics/xsi.txt
|
209
|
+
- test/fixtures/summary/emqz.txt
|
210
|
+
- test/fixtures/summary/mariano.txt
|
211
|
+
- test/quakelive_api/game_time_test.rb
|
212
|
+
- test/quakelive_api/profile/awards/career_milestones_test.rb
|
213
|
+
- test/quakelive_api/profile/awards/experience_test.rb
|
214
|
+
- test/quakelive_api/profile/awards/mad_skillz_test.rb
|
215
|
+
- test/quakelive_api/profile/awards/social_life_test.rb
|
216
|
+
- test/quakelive_api/profile/awards/sweet_success_test.rb
|
217
|
+
- test/quakelive_api/profile/statistics_test.rb
|
218
|
+
- test/quakelive_api/profile/summary_test.rb
|
219
|
+
- test/quakelive_api/profile_test.rb
|
220
|
+
- test/test_helper.rb
|