dota 0.0.12 → 0.0.14

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/Guardfile +1 -1
  3. data/README.md +145 -112
  4. data/data/heroes.yml +327 -0
  5. data/data/items.yml +714 -0
  6. data/lib/dota.rb +8 -1
  7. data/lib/dota/api/basic_match.rb +52 -0
  8. data/lib/dota/api/basic_player.rb +61 -0
  9. data/lib/dota/api/client.rb +12 -2
  10. data/lib/dota/api/cosmetic/rarity.rb +1 -9
  11. data/lib/dota/api/entity.rb +13 -0
  12. data/lib/dota/api/friend.rb +1 -9
  13. data/lib/dota/api/hero.rb +2 -111
  14. data/lib/dota/api/item.rb +1 -240
  15. data/lib/dota/api/league.rb +6 -8
  16. data/lib/dota/api/live_match.rb +29 -35
  17. data/lib/dota/api/live_match/player.rb +29 -22
  18. data/lib/dota/api/live_match/side.rb +25 -11
  19. data/lib/dota/api/match.rb +30 -117
  20. data/lib/dota/api/match/draft.rb +1 -9
  21. data/lib/dota/api/match/player.rb +7 -59
  22. data/lib/dota/api/match/side.rb +41 -0
  23. data/lib/dota/api/scheduled_match.rb +32 -0
  24. data/lib/dota/api/team.rb +1 -9
  25. data/lib/dota/version.rb +1 -1
  26. data/spec/dota/api/cosmetic/rarity_spec.rb +2 -2
  27. data/spec/dota/api/hero_spec.rb +2 -6
  28. data/spec/dota/api/item_spec.rb +1 -5
  29. data/spec/dota/api/live_match/player_spec.rb +76 -8
  30. data/spec/dota/api/live_match/side_spec.rb +42 -8
  31. data/spec/dota/api/live_match_spec.rb +5 -16
  32. data/spec/dota/api/match/draft_spec.rb +4 -1
  33. data/spec/dota/api/match/player_spec.rb +7 -3
  34. data/spec/dota/api/match/side_spec.rb +54 -0
  35. data/spec/dota/api/match_spec.rb +0 -62
  36. data/spec/dota/api/scheduled_match_spec.rb +36 -0
  37. data/spec/dota_spec.rb +56 -7
  38. data/spec/fixtures/vcr_cassettes/GetScheduledLeagueGames.yml +112 -0
  39. metadata +15 -5
  40. data/lib/dota/api/live_match/scoreboard.rb +0 -31
  41. data/spec/dota/api/live_match/scoreboard_spec.rb +0 -25
@@ -1,9 +1,10 @@
1
1
  describe Dota::API::Match::Player do
2
- let(:player) do
2
+ let(:match) do
3
3
  VCR.use_cassette("GetMatchDetails") do
4
- test_client.matches(sample_match_id).players.first
4
+ test_client.matches(sample_match_id)
5
5
  end
6
6
  end
7
+ let(:player) { match.radiant.players.first }
7
8
 
8
9
  specify "#id" do
9
10
  expect(player.id).to eq 98887913
@@ -14,7 +15,10 @@ describe Dota::API::Match::Player do
14
15
  end
15
16
 
16
17
  specify "#slot" do
17
- expect(player.slot).to eq 0
18
+ expect(player.slot).to eq 1
19
+
20
+ expect(match.radiant.players.map(&:slot)).to eq [1, 2, 3, 4, 5]
21
+ expect(match.dire.players.map(&:slot)).to eq [1, 2, 3, 4, 5]
18
22
  end
19
23
 
20
24
  specify "#status" do
@@ -0,0 +1,54 @@
1
+ describe Dota::API::Match::Side do
2
+ let(:match) do
3
+ VCR.use_cassette("GetMatchDetails") do
4
+ test_client.matches(sample_match_id)
5
+ end
6
+ end
7
+ let(:radiant) { match.radiant }
8
+ let(:dire) { match.dire }
9
+
10
+ specify "#id" do
11
+ expect(radiant.id).to eq 1375614
12
+ expect(dire.id).to eq 726228
13
+ end
14
+
15
+ specify "#name" do
16
+ expect(radiant.name).to eq "Newbee"
17
+ expect(dire.name).to eq "Vici Gaming"
18
+ end
19
+
20
+ specify "#logo_id" do
21
+ expect(radiant.logo_id).to eq 794064971723724234
22
+ expect(dire.logo_id).to eq 34096951715893495
23
+ end
24
+
25
+ specify "#complete?" do
26
+ expect(radiant.complete?).to eq true
27
+ expect(dire.complete?).to eq true
28
+ end
29
+
30
+ specify "#tower_status" do
31
+ expect(radiant.tower_status).to eq 2039
32
+ expect(dire.tower_status).to eq 1974
33
+ end
34
+
35
+ specify "#barracks_status" do
36
+ expect(radiant.barracks_status).to eq 63
37
+ expect(dire.barracks_status).to eq 63
38
+ end
39
+
40
+ specify "#captain_id" do
41
+ expect(radiant.captain_id).to eq 98887913
42
+ expect(dire.captain_id).to eq 91698091
43
+ end
44
+
45
+ specify "#players" do
46
+ players = radiant.players
47
+ expect(players.count).to eq 5
48
+ expect(players.first).to be_a Dota::API::Match::Player
49
+
50
+ players = dire.players
51
+ expect(players.count).to eq 5
52
+ expect(players.first).to be_a Dota::API::Match::Player
53
+ end
54
+ end
@@ -29,12 +29,6 @@ describe Dota::API::Match do
29
29
  expect(match.mode_id).to eq 2
30
30
  end
31
31
 
32
- specify "#players" do
33
- players = match.players
34
- expect(players.count).to eq 10
35
- expect(players.first).to be_a Dota::API::Match::Player
36
- end
37
-
38
32
  specify "#drafts" do
39
33
  drafts = match.drafts
40
34
  expect(drafts.count).to eq 20
@@ -80,60 +74,4 @@ describe Dota::API::Match do
80
74
  specify "#cluster" do
81
75
  expect(match.cluster).to eq 111
82
76
  end
83
-
84
- specify "#radiant_tower_status" do
85
- expect(match.radiant_tower_status).to eq 2039
86
- end
87
-
88
- specify "#dire_tower_status" do
89
- expect(match.dire_tower_status).to eq 1974
90
- end
91
-
92
- specify "#radiant_barracks_status" do
93
- expect(match.radiant_barracks_status).to eq 63
94
- end
95
-
96
- specify "#dire_barracks_status" do
97
- expect(match.dire_barracks_status).to eq 63
98
- end
99
-
100
- specify "#radiant_id" do
101
- expect(match.radiant_id).to eq 1375614
102
- end
103
-
104
- specify "#radiant_name" do
105
- expect(match.radiant_name).to eq "Newbee"
106
- end
107
-
108
- specify "#radiant_logo_id" do
109
- expect(match.radiant_logo_id).to eq 794064971723724234
110
- end
111
-
112
- specify "#radiant_complete?" do
113
- expect(match.radiant_complete?).to eq true
114
- end
115
-
116
- specify "#radiant_captain_id" do
117
- expect(match.radiant_captain_id).to eq 98887913
118
- end
119
-
120
- specify "#dire_id" do
121
- expect(match.dire_id).to eq 726228
122
- end
123
-
124
- specify "#dire_name" do
125
- expect(match.dire_name).to eq "Vici Gaming"
126
- end
127
-
128
- specify "#dire_logo_id" do
129
- expect(match.dire_logo_id).to eq 34096951715893495
130
- end
131
-
132
- specify "#dire_complete?" do
133
- expect(match.dire_complete?).to eq true
134
- end
135
-
136
- specify "#dire_captain_id" do
137
- expect(match.dire_captain_id).to eq 91698091
138
- end
139
77
  end
@@ -0,0 +1,36 @@
1
+ describe Dota::API::ScheduledMatch do
2
+ let(:scheduled_match) do
3
+ VCR.use_cassette("GetScheduledLeagueGames") do
4
+ test_client.scheduled_matches.first
5
+ end
6
+ end
7
+
8
+ specify "#league_id" do
9
+ expect(scheduled_match.league_id).to eq 2057
10
+ end
11
+
12
+ specify "#game_id" do
13
+ expect(scheduled_match.game_id).to eq 27
14
+ end
15
+
16
+ specify "#teams" do
17
+ team = scheduled_match.teams
18
+ expect(team.first).to be_a Dota::API::Team
19
+
20
+ # `Team#name` should still return the team's name even if the api returns a
21
+ # different key "team_name" from the expected "name"
22
+ expect(team.first.name).to eq "Team Poker Face"
23
+ end
24
+
25
+ specify "#starts_at" do
26
+ expect(scheduled_match.starts_at).to eq Time.at(1418531400)
27
+ end
28
+
29
+ specify "#description" do
30
+ expect(scheduled_match.description).to eq ""
31
+ end
32
+
33
+ specify "#final?" do
34
+ expect(scheduled_match.final?).to eq false
35
+ end
36
+ end
@@ -64,7 +64,7 @@ describe Dota do
64
64
  context "given a hash" do
65
65
  accepted_params = {
66
66
  after: :start_at_team_id,
67
- limit: :teams_requested,
67
+ limit: :teams_requested
68
68
  }
69
69
  accepted_params.each do |local, remote|
70
70
 
@@ -72,7 +72,7 @@ describe Dota do
72
72
  random_value = SecureRandom.hex
73
73
  VCR.use_cassette("GetTeamInfoByTeamID") do
74
74
  expect(api).to receive(:get).with("IDOTA2Match_570", "GetTeamInfoByTeamID", remote => random_value) { double.as_null_object }
75
- teams = api.teams(local => random_value)
75
+ api.teams(local => random_value)
76
76
  end
77
77
  end
78
78
  end
@@ -86,10 +86,59 @@ describe Dota do
86
86
  end
87
87
  end
88
88
 
89
- specify "#live_matches" do
90
- VCR.use_cassette("GetLiveLeagueGames") do
91
- matches = api.live_matches
92
- expect(matches.first).to be_a Dota::API::LiveMatch
89
+ describe "#scheduled_matches" do
90
+ context "without args" do
91
+ it "returns all of the scheduled matches" do
92
+ VCR.use_cassette("GetScheduledLeagueGames") do
93
+ matches = api.scheduled_matches
94
+ expect(matches.first).to be_a Dota::API::ScheduledMatch
95
+ end
96
+ end
97
+ end
98
+
99
+ context "given a hash" do
100
+ accepted_params = {
101
+ from: :date_min,
102
+ to: :date_max
103
+ }
104
+ accepted_params.each do |local, remote|
105
+
106
+ specify ":#{local} should translate to :#{remote}" do
107
+ random_value = SecureRandom.hex
108
+ VCR.use_cassette("GetScheduledLeagueGames") do
109
+ expect(api).to receive(:get).with("IDOTA2Match_570", "GetScheduledLeagueGames", remote => random_value) { double.as_null_object }
110
+ api.scheduled_matches(local => random_value)
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
116
+
117
+ describe "#live_matches" do
118
+ context "without args" do
119
+ it "returns all live league matches" do
120
+ VCR.use_cassette("GetLiveLeagueGames") do
121
+ matches = api.live_matches
122
+ expect(matches.first).to be_a Dota::API::LiveMatch
123
+ end
124
+ end
125
+ end
126
+
127
+ context "given a hash" do
128
+ accepted_params = {
129
+ league_id: :league_id,
130
+ match_id: :match_id
131
+ }
132
+ accepted_params.each do |local, remote|
133
+
134
+ specify ":#{local} should translate to :#{remote}" do
135
+ random_value = SecureRandom.hex
136
+ VCR.use_cassette("GetLiveLeagueGames") do
137
+ expect(api).to receive(:get).with("IDOTA2Match_570", "GetLiveLeagueGames", remote => random_value) { double.as_null_object }
138
+ api.live_matches(local => random_value)
139
+ end
140
+ end
141
+ end
93
142
  end
94
143
  end
95
144
 
@@ -148,7 +197,7 @@ describe Dota do
148
197
  random_value = SecureRandom.hex
149
198
  VCR.use_cassette("GetMatchHistory") do
150
199
  expect(api).to receive(:get).with("IDOTA2Match_570", "GetMatchHistory", remote => random_value) { double.as_null_object }
151
- matches = api.matches(local => random_value)
200
+ api.matches(local => random_value)
152
201
  end
153
202
  end
154
203
  end
@@ -0,0 +1,112 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.steampowered.com/IDOTA2Match_570/GetScheduledLeagueGames/V001/?key=<STEAM_API_KEY>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.9
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - application/json; charset=UTF-8
23
+ Last-Modified:
24
+ - Sat, 13 Dec 2014 23:41:24 GMT
25
+ Date:
26
+ - Sat, 13 Dec 2014 23:41:24 GMT
27
+ Content-Length:
28
+ - '4864'
29
+ Expires:
30
+ - Mon, 26 Jul 1997 05:00:00 GMT
31
+ Cache-Control:
32
+ - no-cache,must-revalidate
33
+ body:
34
+ encoding: UTF-8
35
+ string: "{\n\t\"result\": {\n\t\t\"games\": [\n\t\t\t{\n\t\t\t\t\"league_id\":
36
+ 2057,\n\t\t\t\t\"game_id\": 27,\n\t\t\t\t\"teams\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\":
37
+ 1518118,\n\t\t\t\t\t\t\"team_name\": \"Team Poker Face\",\n\t\t\t\t\t\t\"logo\":
38
+ 3296943472277256390\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
39
+ 1418531400,\n\t\t\t\t\"comment\": \"\",\n\t\t\t\t\"final\": false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\":
40
+ 2044,\n\t\t\t\t\"game_id\": 3,\n\t\t\t\t\"teams\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\":
41
+ 1718551,\n\t\t\t\t\t\t\"team_name\": \"ROOT-gaming.com\",\n\t\t\t\t\t\t\"logo\":
42
+ 581278600501828765\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\": 1937628,\n\t\t\t\t\t\t\"team_name\":
43
+ \"Boreal eSports\",\n\t\t\t\t\t\t\"logo\": 23967657847159241\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
44
+ 1418536800,\n\t\t\t\t\"comment\": \"BO2 - US East - Regional Stage\",\n\t\t\t\t\"final\":
45
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2314,\n\t\t\t\t\"game_id\":
46
+ 1,\n\t\t\t\t\"teams\": [\n\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\": 1418544000,\n\t\t\t\t\"comment\":
47
+ \"\",\n\t\t\t\t\"final\": false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\":
48
+ 2178,\n\t\t\t\t\"game_id\": 11,\n\t\t\t\t\"teams\": [\n\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
49
+ 1418554800,\n\t\t\t\t\"comment\": \"The SouthEast Asia Qualifying\",\n\t\t\t\t\"final\":
50
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2216,\n\t\t\t\t\"game_id\":
51
+ 0,\n\t\t\t\t\"teams\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\": 2044507,\n\t\t\t\t\t\t\"team_name\":
52
+ \"top ebolo\",\n\t\t\t\t\t\t\"logo\": 541886257937092003\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\":
53
+ 1184310,\n\t\t\t\t\t\t\"team_name\": \"Pythons Gaming\",\n\t\t\t\t\t\t\"logo\":
54
+ 469808806237563062\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
55
+ 1418562000,\n\t\t\t\t\"comment\": \"Отборочные игры. Группа А\",\n\t\t\t\t\"final\":
56
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2216,\n\t\t\t\t\"game_id\":
57
+ 1,\n\t\t\t\t\"teams\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\": 2032330,\n\t\t\t\t\t\t\"team_name\":
58
+ \"SkyLights\",\n\t\t\t\t\t\t\"logo\": 539634458023589501\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\":
59
+ 2040768,\n\t\t\t\t\t\t\"team_name\": \"BadWolf.\",\n\t\t\t\t\t\t\"logo\":
60
+ 26224100555700915\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
61
+ 1418565600,\n\t\t\t\t\"comment\": \"Отборочные игры. Группа А\",\n\t\t\t\t\"final\":
62
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2216,\n\t\t\t\t\"game_id\":
63
+ 1,\n\t\t\t\t\"teams\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\": 2032330,\n\t\t\t\t\t\t\"team_name\":
64
+ \"SkyLights\",\n\t\t\t\t\t\t\"logo\": 539634458023589501\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\":
65
+ 2044507,\n\t\t\t\t\t\t\"team_name\": \"top ebolo\",\n\t\t\t\t\t\t\"logo\":
66
+ 541886257937092003\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
67
+ 1418569200,\n\t\t\t\t\"comment\": \"Отборочные игры. Группа А\",\n\t\t\t\t\"final\":
68
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2216,\n\t\t\t\t\"game_id\":
69
+ 3681606,\n\t\t\t\t\"teams\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\": 2044507,\n\t\t\t\t\t\t\"team_name\":
70
+ \"top ebolo\",\n\t\t\t\t\t\t\"logo\": 541886257937092003\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\":
71
+ 2040768,\n\t\t\t\t\t\t\"team_name\": \"BadWolf.\",\n\t\t\t\t\t\t\"logo\":
72
+ 26224100555700915\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
73
+ 1418572800,\n\t\t\t\t\"comment\": \"Отборочные игры. Группа А\",\n\t\t\t\t\"final\":
74
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2216,\n\t\t\t\t\"game_id\":
75
+ 13,\n\t\t\t\t\"teams\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\": 2032330,\n\t\t\t\t\t\t\"team_name\":
76
+ \"SkyLights\",\n\t\t\t\t\t\t\"logo\": 539634458023589501\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\":
77
+ 1184310,\n\t\t\t\t\t\t\"team_name\": \"Pythons Gaming\",\n\t\t\t\t\t\t\"logo\":
78
+ 469808806237563062\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
79
+ 1418576400,\n\t\t\t\t\"comment\": \"Отборочные игры. Группа А\",\n\t\t\t\t\"final\":
80
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2216,\n\t\t\t\t\"game_id\":
81
+ 3681606,\n\t\t\t\t\"teams\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\": 1184310,\n\t\t\t\t\t\t\"team_name\":
82
+ \"Pythons Gaming\",\n\t\t\t\t\t\t\"logo\": 469808806237563062\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\":
83
+ 2040768,\n\t\t\t\t\t\t\"team_name\": \"BadWolf.\",\n\t\t\t\t\t\t\"logo\":
84
+ 26224100555700915\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
85
+ 1418580000,\n\t\t\t\t\"comment\": \"Отборочные игры. Группа А\",\n\t\t\t\t\"final\":
86
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2178,\n\t\t\t\t\"game_id\":
87
+ 12,\n\t\t\t\t\"teams\": [\n\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
88
+ 1418641200,\n\t\t\t\t\"comment\": \"The China Qualifying\",\n\t\t\t\t\"final\":
89
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2178,\n\t\t\t\t\"game_id\":
90
+ 13,\n\t\t\t\t\"teams\": [\n\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
91
+ 1418727600,\n\t\t\t\t\"comment\": \"The China Qualifying\",\n\t\t\t\t\"final\":
92
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2178,\n\t\t\t\t\"game_id\":
93
+ 14,\n\t\t\t\t\"teams\": [\n\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
94
+ 1418814000,\n\t\t\t\t\"comment\": \"The China Qualifying\",\n\t\t\t\t\"final\":
95
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2178,\n\t\t\t\t\"game_id\":
96
+ 15,\n\t\t\t\t\"teams\": [\n\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
97
+ 1418900400,\n\t\t\t\t\"comment\": \"The China Qualifying\",\n\t\t\t\t\"final\":
98
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2057,\n\t\t\t\t\"game_id\":
99
+ 28,\n\t\t\t\t\"teams\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"team_id\": 1366458,\n\t\t\t\t\t\t\"team_name\":
100
+ \"R a v e\",\n\t\t\t\t\t\t\"logo\": 577902803120116757\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
101
+ 1418981400,\n\t\t\t\t\"comment\": \"\",\n\t\t\t\t\"final\": false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\":
102
+ 2178,\n\t\t\t\t\"game_id\": 16,\n\t\t\t\t\"teams\": [\n\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
103
+ 1418986800,\n\t\t\t\t\"comment\": \"The China Qualifying\",\n\t\t\t\t\"final\":
104
+ false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\": 2057,\n\t\t\t\t\"game_id\":
105
+ 29,\n\t\t\t\t\"teams\": [\n\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
106
+ 1419049800,\n\t\t\t\t\"comment\": \"\",\n\t\t\t\t\"final\": false\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"league_id\":
107
+ 2178,\n\t\t\t\t\"game_id\": 17,\n\t\t\t\t\"teams\": [\n\n\t\t\t\t]\n\t\t\t\t,\n\t\t\t\t\"starttime\":
108
+ 1419073200,\n\t\t\t\t\"comment\": \"The China Qualifying\",\n\t\t\t\t\"final\":
109
+ false\n\t\t\t}\n\t\t]\n\t\t\n\t}\n}"
110
+ http_version:
111
+ recorded_at: Sat, 13 Dec 2014 23:41:23 GMT
112
+ recorded_with: VCR 2.9.3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dota
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vinni Carlo Caños
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-10 00:00:00.000000000 Z
11
+ date: 2015-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -152,21 +152,27 @@ files:
152
152
  - LICENSE.txt
153
153
  - README.md
154
154
  - Rakefile
155
+ - data/heroes.yml
156
+ - data/items.yml
155
157
  - dota.gemspec
156
158
  - lib/dota.rb
159
+ - lib/dota/api/basic_match.rb
160
+ - lib/dota/api/basic_player.rb
157
161
  - lib/dota/api/client.rb
158
162
  - lib/dota/api/cosmetic/rarity.rb
163
+ - lib/dota/api/entity.rb
159
164
  - lib/dota/api/friend.rb
160
165
  - lib/dota/api/hero.rb
161
166
  - lib/dota/api/item.rb
162
167
  - lib/dota/api/league.rb
163
168
  - lib/dota/api/live_match.rb
164
169
  - lib/dota/api/live_match/player.rb
165
- - lib/dota/api/live_match/scoreboard.rb
166
170
  - lib/dota/api/live_match/side.rb
167
171
  - lib/dota/api/match.rb
168
172
  - lib/dota/api/match/draft.rb
169
173
  - lib/dota/api/match/player.rb
174
+ - lib/dota/api/match/side.rb
175
+ - lib/dota/api/scheduled_match.rb
170
176
  - lib/dota/api/team.rb
171
177
  - lib/dota/configuration.rb
172
178
  - lib/dota/utils/inspect.rb
@@ -177,12 +183,13 @@ files:
177
183
  - spec/dota/api/item_spec.rb
178
184
  - spec/dota/api/league_spec.rb
179
185
  - spec/dota/api/live_match/player_spec.rb
180
- - spec/dota/api/live_match/scoreboard_spec.rb
181
186
  - spec/dota/api/live_match/side_spec.rb
182
187
  - spec/dota/api/live_match_spec.rb
183
188
  - spec/dota/api/match/draft_spec.rb
184
189
  - spec/dota/api/match/player_spec.rb
190
+ - spec/dota/api/match/side_spec.rb
185
191
  - spec/dota/api/match_spec.rb
192
+ - spec/dota/api/scheduled_match_spec.rb
186
193
  - spec/dota/api/team_spec.rb
187
194
  - spec/dota_spec.rb
188
195
  - spec/fixtures/vcr_cassettes/GetFriendList.yml
@@ -191,6 +198,7 @@ files:
191
198
  - spec/fixtures/vcr_cassettes/GetMatchDetails.yml
192
199
  - spec/fixtures/vcr_cassettes/GetMatchHistory.yml
193
200
  - spec/fixtures/vcr_cassettes/GetRarities.yml
201
+ - spec/fixtures/vcr_cassettes/GetScheduledLeagueGames.yml
194
202
  - spec/fixtures/vcr_cassettes/GetTeamInfoByTeamID.yml
195
203
  - spec/fixtures/vcr_cassettes/GetTeamInfoByTeamID_many.yml
196
204
  - spec/spec_helper.rb
@@ -226,12 +234,13 @@ test_files:
226
234
  - spec/dota/api/item_spec.rb
227
235
  - spec/dota/api/league_spec.rb
228
236
  - spec/dota/api/live_match/player_spec.rb
229
- - spec/dota/api/live_match/scoreboard_spec.rb
230
237
  - spec/dota/api/live_match/side_spec.rb
231
238
  - spec/dota/api/live_match_spec.rb
232
239
  - spec/dota/api/match/draft_spec.rb
233
240
  - spec/dota/api/match/player_spec.rb
241
+ - spec/dota/api/match/side_spec.rb
234
242
  - spec/dota/api/match_spec.rb
243
+ - spec/dota/api/scheduled_match_spec.rb
235
244
  - spec/dota/api/team_spec.rb
236
245
  - spec/dota_spec.rb
237
246
  - spec/fixtures/vcr_cassettes/GetFriendList.yml
@@ -240,6 +249,7 @@ test_files:
240
249
  - spec/fixtures/vcr_cassettes/GetMatchDetails.yml
241
250
  - spec/fixtures/vcr_cassettes/GetMatchHistory.yml
242
251
  - spec/fixtures/vcr_cassettes/GetRarities.yml
252
+ - spec/fixtures/vcr_cassettes/GetScheduledLeagueGames.yml
243
253
  - spec/fixtures/vcr_cassettes/GetTeamInfoByTeamID.yml
244
254
  - spec/fixtures/vcr_cassettes/GetTeamInfoByTeamID_many.yml
245
255
  - spec/spec_helper.rb