dota 0.0.19 → 0.0.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +9 -8
- data/README.md +2 -2
- data/data/ability.yml +2 -2
- data/data/hero.yml +3 -0
- data/data/item.yml +141 -87
- data/dota.gemspec +9 -9
- data/lib/dota/api/item.rb +5 -8
- data/lib/dota/api/league.rb +4 -0
- data/lib/dota/api/live_match.rb +19 -16
- data/lib/dota/version.rb +1 -1
- data/spec/dota/api/hero_spec.rb +1 -1
- data/spec/dota/api/item_spec.rb +10 -3
- data/spec/dota/api/league_spec.rb +4 -0
- data/spec/dota/api/live_match_spec.rb +28 -4
- data/spec/support/vcr.rb +1 -1
- metadata +49 -49
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9141ca7af8dfcde82f04ff1bed165b1637993390
|
4
|
+
data.tar.gz: fc7f314a0dbefd75ebf3e5956089ca85b83fad44
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7bdb9fdaa43aa20a5b85b699b871a6edfdfa5e1daac59cff0979d399188bf66394ce24f35a5eb111e11edcb1e17be6e5920ef703720e8f632baec7ef13a32896
|
7
|
+
data.tar.gz: 82e8e44d2715f6e8ff06e5f90695e72b7899600631e5c72985caea4f1ab2d668614390bf2148ed027a0d80e8808c1cbcf7beddb1b8f850eaedd446c7c610eff1
|
data/.travis.yml
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
language: ruby
|
2
|
-
|
3
2
|
rvm:
|
4
|
-
-
|
5
|
-
- 2.
|
6
|
-
- 2.
|
7
|
-
-
|
8
|
-
-
|
9
|
-
|
3
|
+
- 2.0
|
4
|
+
- 2.1
|
5
|
+
- 2.2
|
6
|
+
- 2.3.0
|
7
|
+
# - jruby
|
8
|
+
# - rbx
|
9
|
+
before_install:
|
10
|
+
- gem update bundler
|
10
11
|
install: bundle install --retry=3
|
11
|
-
|
12
|
+
sudo: false
|
12
13
|
addons:
|
13
14
|
code_climate:
|
14
15
|
repo_token: 5e3e0f72f98a8345473dac4f2a2e2c980509d57ed1fa87725f3dcc299da0f795
|
data/README.md
CHANGED
@@ -292,7 +292,7 @@ unit.items # Array[Dota::API:Item], Unit's inventory (6 slots)
|
|
292
292
|
```ruby
|
293
293
|
ability_upgrade.time # Integer, Seconds since the match started when the player learned an ability
|
294
294
|
ability_upgrade.level # Integer, Player's level when the ability was learned
|
295
|
-
ability_upgrade.ability # Dota::API
|
295
|
+
ability_upgrade.ability # Dota::API::Ability
|
296
296
|
```
|
297
297
|
|
298
298
|
#### Abilities
|
@@ -327,7 +327,7 @@ friend.made_at # Time, When the friend was added to the player's friend lis
|
|
327
327
|
|
328
328
|
## Resources
|
329
329
|
|
330
|
-
- [Steam-Powered DOTA on Rails](http://www.sitepoint.com/steam-powered-dota-on-rails/) by Ilya Bodrov-Krukowski - A tutorial for getting personal match statistics that makes use of this library for Steam integration. (www.sitepoint.com)
|
330
|
+
- [Steam-Powered DOTA on Rails](http://www.sitepoint.com/steam-powered-dota-on-rails/) and [DOTA 2 on Rails: Digging Deeper](http://www.sitepoint.com/dota-2-rails-digging-deeper/) by Ilya Bodrov-Krukowski - A tutorial for getting personal match statistics that makes use of this library for Steam integration. (www.sitepoint.com)
|
331
331
|
- [Things You Should Know Before Starting API Development](http://dev.dota2.com/showthread.php?t=58317) by MuppetMaster42 (dev.dota2.com)
|
332
332
|
- [Dota 2 WebAPI Wiki](https://wiki.teamfortress.com/wiki/WebAPI#Dota_2) (wiki.teamfortress.com)
|
333
333
|
- [Dota 2 WebAPI Forums](http://dev.dota2.com/forumdisplay.php?f=411) (dev.dota2.com)
|
data/data/ability.yml
CHANGED
@@ -1580,8 +1580,8 @@
|
|
1580
1580
|
- Brewmaster Earth Spell Immunity
|
1581
1581
|
5406:
|
1582
1582
|
- brewmaster_earth_pulverize
|
1583
|
-
-
|
1584
|
-
- Brewmaster Earth
|
1583
|
+
- Demolish
|
1584
|
+
- Brewmaster Earth Demolish
|
1585
1585
|
5408:
|
1586
1586
|
- brewmaster_storm_dispel_magic
|
1587
1587
|
- Dispel Magic
|
data/data/hero.yml
CHANGED
data/data/item.yml
CHANGED
@@ -105,7 +105,7 @@
|
|
105
105
|
- Magic Stick
|
106
106
|
35:
|
107
107
|
- recipe_magic_wand
|
108
|
-
- Recipe: Magic Wand
|
108
|
+
- "Recipe: Magic Wand"
|
109
109
|
36:
|
110
110
|
- magic_wand
|
111
111
|
- Magic Wand
|
@@ -141,13 +141,13 @@
|
|
141
141
|
- Town Portal Scroll
|
142
142
|
47:
|
143
143
|
- recipe_travel_boots
|
144
|
-
- Recipe: Boots of Travel
|
144
|
+
- "Recipe: Boots of Travel"
|
145
145
|
48:
|
146
146
|
- travel_boots
|
147
147
|
- Boots of Travel
|
148
148
|
49:
|
149
149
|
- recipe_phase_boots
|
150
|
-
- Recipe: Phase Boots
|
150
|
+
- "Recipe: Phase Boots"
|
151
151
|
50:
|
152
152
|
- phase_boots
|
153
153
|
- Phase Boots
|
@@ -186,61 +186,61 @@
|
|
186
186
|
- Vitality Booster
|
187
187
|
62:
|
188
188
|
- recipe_power_treads
|
189
|
-
- Recipe: Power Treads
|
189
|
+
- "Recipe: Power Treads"
|
190
190
|
63:
|
191
191
|
- power_treads
|
192
192
|
- Power Treads
|
193
193
|
64:
|
194
194
|
- recipe_hand_of_midas
|
195
|
-
- Recipe: Hand of Midas
|
195
|
+
- "Recipe: Hand of Midas"
|
196
196
|
65:
|
197
197
|
- hand_of_midas
|
198
198
|
- Hand of Midas
|
199
199
|
66:
|
200
200
|
- recipe_oblivion_staff
|
201
|
-
- Recipe: Oblivion Staff
|
201
|
+
- "Recipe: Oblivion Staff"
|
202
202
|
67:
|
203
203
|
- oblivion_staff
|
204
204
|
- Oblivion Staff
|
205
205
|
68:
|
206
206
|
- recipe_pers
|
207
|
-
- Recipe: Perseverance
|
207
|
+
- "Recipe: Perseverance"
|
208
208
|
69:
|
209
209
|
- pers
|
210
210
|
- Perseverance
|
211
211
|
70:
|
212
212
|
- recipe_poor_mans_shield
|
213
|
-
- Recipe: Poor Man's Shield
|
213
|
+
- "Recipe: Poor Man's Shield"
|
214
214
|
71:
|
215
215
|
- poor_mans_shield
|
216
216
|
- Poor Man's Shield
|
217
217
|
72:
|
218
218
|
- recipe_bracer
|
219
|
-
- Recipe: Bracer
|
219
|
+
- "Recipe: Bracer"
|
220
220
|
73:
|
221
221
|
- bracer
|
222
222
|
- Bracer
|
223
223
|
74:
|
224
224
|
- recipe_wraith_band
|
225
|
-
- Recipe: Wraith Band
|
225
|
+
- "Recipe: Wraith Band"
|
226
226
|
75:
|
227
227
|
- wraith_band
|
228
228
|
- Wraith Band
|
229
229
|
76:
|
230
230
|
- recipe_null_talisman
|
231
|
-
- Recipe: Null Talisman
|
231
|
+
- "Recipe: Null Talisman"
|
232
232
|
77:
|
233
233
|
- null_talisman
|
234
234
|
- Null Talisman
|
235
235
|
78:
|
236
236
|
- recipe_mekansm
|
237
|
-
- Recipe: Mekansm
|
237
|
+
- "Recipe: Mekansm"
|
238
238
|
79:
|
239
239
|
- mekansm
|
240
240
|
- Mekansm
|
241
241
|
80:
|
242
242
|
- recipe_vladmir
|
243
|
-
- Recipe: Vladmir's Offering
|
243
|
+
- "Recipe: Vladmir's Offering"
|
244
244
|
81:
|
245
245
|
- vladmir
|
246
246
|
- Vladmir's Offering
|
@@ -249,97 +249,97 @@
|
|
249
249
|
- Flying Courier
|
250
250
|
85:
|
251
251
|
- recipe_buckler
|
252
|
-
- Recipe: Buckler
|
252
|
+
- "Recipe: Buckler"
|
253
253
|
86:
|
254
254
|
- buckler
|
255
255
|
- Buckler
|
256
256
|
87:
|
257
257
|
- recipe_ring_of_basilius
|
258
|
-
- Recipe: Ring of Basilius
|
258
|
+
- "Recipe: Ring of Basilius"
|
259
259
|
88:
|
260
260
|
- ring_of_basilius
|
261
261
|
- Ring of Basilius
|
262
262
|
89:
|
263
263
|
- recipe_pipe
|
264
|
-
- Recipe: Pipe of Insight
|
264
|
+
- "Recipe: Pipe of Insight"
|
265
265
|
90:
|
266
266
|
- pipe
|
267
267
|
- Pipe of Insight
|
268
268
|
91:
|
269
269
|
- recipe_urn_of_shadows
|
270
|
-
- Recipe: Urn of Shadows
|
270
|
+
- "Recipe: Urn of Shadows"
|
271
271
|
92:
|
272
272
|
- urn_of_shadows
|
273
273
|
- Urn of Shadows
|
274
274
|
93:
|
275
275
|
- recipe_headdress
|
276
|
-
- Recipe: Headdress
|
276
|
+
- "Recipe: Headdress"
|
277
277
|
94:
|
278
278
|
- headdress
|
279
279
|
- Headdress
|
280
280
|
95:
|
281
281
|
- recipe_sheepstick
|
282
|
-
- Recipe: Scythe of Vyse
|
282
|
+
- "Recipe: Scythe of Vyse"
|
283
283
|
96:
|
284
284
|
- sheepstick
|
285
285
|
- Scythe of Vyse
|
286
286
|
97:
|
287
287
|
- recipe_orchid
|
288
|
-
- Recipe: Orchid Malevolence
|
288
|
+
- "Recipe: Orchid Malevolence"
|
289
289
|
98:
|
290
290
|
- orchid
|
291
291
|
- Orchid Malevolence
|
292
292
|
99:
|
293
293
|
- recipe_cyclone
|
294
|
-
- Recipe: Eul's Scepter of Divinity
|
294
|
+
- "Recipe: Eul's Scepter of Divinity"
|
295
295
|
100:
|
296
296
|
- cyclone
|
297
297
|
- Eul's Scepter of Divinity
|
298
298
|
101:
|
299
299
|
- recipe_force_staff
|
300
|
-
- Recipe: Force Staff
|
300
|
+
- "Recipe: Force Staff"
|
301
301
|
102:
|
302
302
|
- force_staff
|
303
303
|
- Force Staff
|
304
304
|
103:
|
305
305
|
- recipe_dagon
|
306
|
-
- Recipe: Dagon
|
306
|
+
- "Recipe: Dagon"
|
307
307
|
104:
|
308
308
|
- dagon
|
309
309
|
- Dagon
|
310
310
|
105:
|
311
311
|
- recipe_necronomicon
|
312
|
-
- Recipe: Necronomicon
|
312
|
+
- "Recipe: Necronomicon"
|
313
313
|
106:
|
314
314
|
- necronomicon
|
315
315
|
- Necronomicon
|
316
316
|
107:
|
317
317
|
- recipe_ultimate_scepter
|
318
|
-
- Recipe: Aghanim's Scepter
|
318
|
+
- "Recipe: Aghanim's Scepter"
|
319
319
|
108:
|
320
320
|
- ultimate_scepter
|
321
321
|
- Aghanim's Scepter
|
322
322
|
109:
|
323
323
|
- recipe_refresher
|
324
|
-
- Recipe: Refresher Orb
|
324
|
+
- "Recipe: Refresher Orb"
|
325
325
|
110:
|
326
326
|
- refresher
|
327
327
|
- Refresher Orb
|
328
328
|
111:
|
329
329
|
- recipe_assault
|
330
|
-
- Recipe: Assault Cuirass
|
330
|
+
- "Recipe: Assault Cuirass"
|
331
331
|
112:
|
332
332
|
- assault
|
333
333
|
- Assault Cuirass
|
334
334
|
113:
|
335
335
|
- recipe_heart
|
336
|
-
- Recipe: Heart of Tarrasque
|
336
|
+
- "Recipe: Heart of Tarrasque"
|
337
337
|
114:
|
338
338
|
- heart
|
339
339
|
- Heart of Tarrasque
|
340
340
|
115:
|
341
341
|
- recipe_black_king_bar
|
342
|
-
- Recipe: Black King Bar
|
342
|
+
- "Recipe: Black King Bar"
|
343
343
|
116:
|
344
344
|
- black_king_bar
|
345
345
|
- Black King Bar
|
@@ -348,103 +348,103 @@
|
|
348
348
|
- Aegis of the Immortal
|
349
349
|
118:
|
350
350
|
- recipe_shivas_guard
|
351
|
-
- Recipe: Shiva's Guard
|
351
|
+
- "Recipe: Shiva's Guard"
|
352
352
|
119:
|
353
353
|
- shivas_guard
|
354
354
|
- Shiva's Guard
|
355
355
|
120:
|
356
356
|
- recipe_bloodstone
|
357
|
-
- Recipe: Bloodstone
|
357
|
+
- "Recipe: Bloodstone"
|
358
358
|
121:
|
359
359
|
- bloodstone
|
360
360
|
- Bloodstone
|
361
361
|
122:
|
362
362
|
- recipe_sphere
|
363
|
-
- Recipe: Linken's Sphere
|
363
|
+
- "Recipe: Linken's Sphere"
|
364
364
|
123:
|
365
365
|
- sphere
|
366
366
|
- Linken's Sphere
|
367
367
|
124:
|
368
368
|
- recipe_vanguard
|
369
|
-
- Recipe: Vanguard
|
369
|
+
- "Recipe: Vanguard"
|
370
370
|
125:
|
371
371
|
- vanguard
|
372
372
|
- Vanguard
|
373
373
|
126:
|
374
374
|
- recipe_blade_mail
|
375
|
-
- Recipe: Blade Mail
|
375
|
+
- "Recipe: Blade Mail"
|
376
376
|
127:
|
377
377
|
- blade_mail
|
378
378
|
- Blade Mail
|
379
379
|
128:
|
380
380
|
- recipe_soul_booster
|
381
|
-
- Recipe: Soul Booster
|
381
|
+
- "Recipe: Soul Booster"
|
382
382
|
129:
|
383
383
|
- soul_booster
|
384
384
|
- Soul Booster
|
385
385
|
130:
|
386
386
|
- recipe_hood_of_defiance
|
387
|
-
- Recipe: Hood of Defiance
|
387
|
+
- "Recipe: Hood of Defiance"
|
388
388
|
131:
|
389
389
|
- hood_of_defiance
|
390
390
|
- Hood of Defiance
|
391
391
|
132:
|
392
392
|
- recipe_rapier
|
393
|
-
- Recipe: Divine Rapier
|
393
|
+
- "Recipe: Divine Rapier"
|
394
394
|
133:
|
395
395
|
- rapier
|
396
396
|
- Divine Rapier
|
397
397
|
134:
|
398
398
|
- recipe_monkey_king_bar
|
399
|
-
- Recipe: Monkey King Bar
|
399
|
+
- "Recipe: Monkey King Bar"
|
400
400
|
135:
|
401
401
|
- monkey_king_bar
|
402
402
|
- Monkey King Bar
|
403
403
|
136:
|
404
404
|
- recipe_radiance
|
405
|
-
- Recipe: Radiance
|
405
|
+
- "Recipe: Radiance"
|
406
406
|
137:
|
407
407
|
- radiance
|
408
408
|
- Radiance
|
409
409
|
138:
|
410
410
|
- recipe_butterfly
|
411
|
-
- Recipe: Butterfly
|
411
|
+
- "Recipe: Butterfly"
|
412
412
|
139:
|
413
413
|
- butterfly
|
414
414
|
- Butterfly
|
415
415
|
140:
|
416
416
|
- recipe_greater_crit
|
417
|
-
- Recipe: Daedalus
|
417
|
+
- "Recipe: Daedalus"
|
418
418
|
141:
|
419
419
|
- greater_crit
|
420
420
|
- Daedalus
|
421
421
|
142:
|
422
422
|
- recipe_basher
|
423
|
-
- Recipe: Skull Basher
|
423
|
+
- "Recipe: Skull Basher"
|
424
424
|
143:
|
425
425
|
- basher
|
426
426
|
- Skull Basher
|
427
427
|
144:
|
428
428
|
- recipe_bfury
|
429
|
-
- Recipe: Battle Fury
|
429
|
+
- "Recipe: Battle Fury"
|
430
430
|
145:
|
431
431
|
- bfury
|
432
432
|
- Battle Fury
|
433
433
|
146:
|
434
434
|
- recipe_manta
|
435
|
-
- Recipe: Manta Style
|
435
|
+
- "Recipe: Manta Style"
|
436
436
|
147:
|
437
437
|
- manta
|
438
438
|
- Manta Style
|
439
439
|
148:
|
440
440
|
- recipe_lesser_crit
|
441
|
-
- Recipe: Crystalys
|
441
|
+
- "Recipe: Crystalys"
|
442
442
|
149:
|
443
443
|
- lesser_crit
|
444
444
|
- Crystalys
|
445
445
|
150:
|
446
446
|
- recipe_armlet
|
447
|
-
- Recipe: Armlet of Mordiggian
|
447
|
+
- "Recipe: Armlet of Mordiggian"
|
448
448
|
151:
|
449
449
|
- armlet
|
450
450
|
- Armlet of Mordiggian
|
@@ -453,85 +453,85 @@
|
|
453
453
|
- Shadow Blade
|
454
454
|
153:
|
455
455
|
- recipe_sange_and_yasha
|
456
|
-
- Recipe: Sange and Yasha
|
456
|
+
- "Recipe: Sange and Yasha"
|
457
457
|
154:
|
458
458
|
- sange_and_yasha
|
459
459
|
- Sange and Yasha
|
460
460
|
155:
|
461
461
|
- recipe_satanic
|
462
|
-
- Recipe: Satanic
|
462
|
+
- "Recipe: Satanic"
|
463
463
|
156:
|
464
464
|
- satanic
|
465
465
|
- Satanic
|
466
466
|
157:
|
467
467
|
- recipe_mjollnir
|
468
|
-
- Recipe: Mjollnir
|
468
|
+
- "Recipe: Mjollnir"
|
469
469
|
158:
|
470
470
|
- mjollnir
|
471
471
|
- Mjollnir
|
472
472
|
159:
|
473
473
|
- recipe_skadi
|
474
|
-
- Recipe: Eye of Skadi
|
474
|
+
- "Recipe: Eye of Skadi"
|
475
475
|
160:
|
476
476
|
- skadi
|
477
477
|
- Eye of Skadi
|
478
478
|
161:
|
479
479
|
- recipe_sange
|
480
|
-
- Recipe: Sange
|
480
|
+
- "Recipe: Sange"
|
481
481
|
162:
|
482
482
|
- sange
|
483
483
|
- Sange
|
484
484
|
163:
|
485
485
|
- recipe_helm_of_the_dominator
|
486
|
-
- Recipe: Helm of the Dominator
|
486
|
+
- "Recipe: Helm of the Dominator"
|
487
487
|
164:
|
488
488
|
- helm_of_the_dominator
|
489
489
|
- Helm of the Dominator
|
490
490
|
165:
|
491
491
|
- recipe_maelstrom
|
492
|
-
- Recipe: Maelstrom
|
492
|
+
- "Recipe: Maelstrom"
|
493
493
|
166:
|
494
494
|
- maelstrom
|
495
495
|
- Maelstrom
|
496
496
|
167:
|
497
497
|
- recipe_desolator
|
498
|
-
- Recipe: Desolator
|
498
|
+
- "Recipe: Desolator"
|
499
499
|
168:
|
500
500
|
- desolator
|
501
501
|
- Desolator
|
502
502
|
169:
|
503
503
|
- recipe_yasha
|
504
|
-
- Recipe: Yasha
|
504
|
+
- "Recipe: Yasha"
|
505
505
|
170:
|
506
506
|
- yasha
|
507
507
|
- Yasha
|
508
508
|
171:
|
509
509
|
- recipe_mask_of_madness
|
510
|
-
- Recipe: Mask of Madness
|
510
|
+
- "Recipe: Mask of Madness"
|
511
511
|
172:
|
512
512
|
- mask_of_madness
|
513
513
|
- Mask of Madness
|
514
514
|
173:
|
515
515
|
- recipe_diffusal_blade
|
516
|
-
- Recipe: Diffusal Blade
|
516
|
+
- "Recipe: Diffusal Blade"
|
517
517
|
174:
|
518
518
|
- diffusal_blade
|
519
519
|
- Diffusal Blade
|
520
520
|
175:
|
521
521
|
- recipe_ethereal_blade
|
522
|
-
- Recipe: Ethereal Blade
|
522
|
+
- "Recipe: Ethereal Blade"
|
523
523
|
176:
|
524
524
|
- ethereal_blade
|
525
525
|
- Ethereal Blade
|
526
526
|
177:
|
527
527
|
- recipe_soul_ring
|
528
|
-
- Recipe: Soul Ring
|
528
|
+
- "Recipe: Soul Ring"
|
529
529
|
178:
|
530
530
|
- soul_ring
|
531
531
|
- Soul Ring
|
532
532
|
179:
|
533
533
|
- recipe_arcane_boots
|
534
|
-
- Recipe: Arcane Boots
|
534
|
+
- "Recipe: Arcane Boots"
|
535
535
|
180:
|
536
536
|
- arcane_boots
|
537
537
|
- Arcane Boots
|
@@ -543,16 +543,16 @@
|
|
543
543
|
- Stout Shield
|
544
544
|
183:
|
545
545
|
- recipe_invis_sword
|
546
|
-
- Recipe: Shadow Blade
|
546
|
+
- "Recipe: Shadow Blade"
|
547
547
|
184:
|
548
548
|
- recipe_ancient_janggo
|
549
|
-
- Recipe: Drum of Endurance
|
549
|
+
- "Recipe: Drum of Endurance"
|
550
550
|
185:
|
551
551
|
- ancient_janggo
|
552
552
|
- Drum of Endurance
|
553
553
|
186:
|
554
554
|
- recipe_medallion_of_courage
|
555
|
-
- Recipe: Medallion of Courage
|
555
|
+
- "Recipe: Medallion of Courage"
|
556
556
|
187:
|
557
557
|
- medallion_of_courage
|
558
558
|
- Medallion of Courage
|
@@ -561,16 +561,16 @@
|
|
561
561
|
- Smoke of Deceit
|
562
562
|
189:
|
563
563
|
- recipe_veil_of_discord
|
564
|
-
- Recipe: Veil of Discord
|
564
|
+
- "Recipe: Veil of Discord"
|
565
565
|
190:
|
566
566
|
- veil_of_discord
|
567
567
|
- Veil of Discord
|
568
568
|
191:
|
569
569
|
- recipe_necronomicon_2
|
570
|
-
- Recipe: Necronomicon
|
570
|
+
- "Recipe: Necronomicon"
|
571
571
|
192:
|
572
572
|
- recipe_necronomicon_3
|
573
|
-
- Recipe: Necronomicon
|
573
|
+
- "Recipe: Necronomicon"
|
574
574
|
193:
|
575
575
|
- necronomicon_2
|
576
576
|
- Necronomicon
|
@@ -579,22 +579,22 @@
|
|
579
579
|
- Necronomicon
|
580
580
|
195:
|
581
581
|
- recipe_diffusal_blade_2
|
582
|
-
- Recipe: Diffusal Blade
|
582
|
+
- "Recipe: Diffusal Blade"
|
583
583
|
196:
|
584
584
|
- diffusal_blade_2
|
585
585
|
- Diffusal Blade
|
586
586
|
197:
|
587
587
|
- recipe_dagon_2
|
588
|
-
- Recipe: Dagon
|
588
|
+
- "Recipe: Dagon"
|
589
589
|
198:
|
590
590
|
- recipe_dagon_3
|
591
|
-
- Recipe: Dagon
|
591
|
+
- "Recipe: Dagon"
|
592
592
|
199:
|
593
593
|
- recipe_dagon_4
|
594
|
-
- Recipe: Dagon
|
594
|
+
- "Recipe: Dagon"
|
595
595
|
200:
|
596
596
|
- recipe_dagon_5
|
597
|
-
- Recipe: Dagon
|
597
|
+
- "Recipe: Dagon"
|
598
598
|
201:
|
599
599
|
- dagon_2
|
600
600
|
- Dagon
|
@@ -609,31 +609,31 @@
|
|
609
609
|
- Dagon
|
610
610
|
205:
|
611
611
|
- recipe_rod_of_atos
|
612
|
-
- Recipe: Rod of Atos
|
612
|
+
- "Recipe: Rod of Atos"
|
613
613
|
206:
|
614
614
|
- rod_of_atos
|
615
615
|
- Rod of Atos
|
616
616
|
207:
|
617
617
|
- recipe_abyssal_blade
|
618
|
-
- Recipe: Abyssal Blade
|
618
|
+
- "Recipe: Abyssal Blade"
|
619
619
|
208:
|
620
620
|
- abyssal_blade
|
621
621
|
- Abyssal Blade
|
622
622
|
209:
|
623
623
|
- recipe_heavens_halberd
|
624
|
-
- Recipe: Heaven's Halberd
|
624
|
+
- "Recipe: Heaven's Halberd"
|
625
625
|
210:
|
626
626
|
- heavens_halberd
|
627
627
|
- Heaven's Halberd
|
628
628
|
211:
|
629
629
|
- recipe_ring_of_aquila
|
630
|
-
- Recipe: Ring of Aquila
|
630
|
+
- "Recipe: Ring of Aquila"
|
631
631
|
212:
|
632
632
|
- ring_of_aquila
|
633
633
|
- Ring of Aquila
|
634
634
|
213:
|
635
635
|
- recipe_tranquil_boots
|
636
|
-
- Recipe: Tranquil Boots
|
636
|
+
- "Recipe: Tranquil Boots"
|
637
637
|
214:
|
638
638
|
- tranquil_boots
|
639
639
|
- Tranquil Boots
|
@@ -645,40 +645,64 @@
|
|
645
645
|
- Enchanted Mango
|
646
646
|
217:
|
647
647
|
- recipe_ward_dispenser
|
648
|
-
- Recipe: Ward Dispenser
|
648
|
+
- "Recipe: Ward Dispenser"
|
649
649
|
218:
|
650
650
|
- ward_dispenser
|
651
651
|
- Ward Dispenser
|
652
652
|
219:
|
653
653
|
- recipe_travel_boots_2
|
654
|
-
- Recipe: Upgraded Boots of Travel
|
654
|
+
- "Recipe: Upgraded Boots of Travel"
|
655
655
|
220:
|
656
656
|
- travel_boots_2
|
657
657
|
- Upgraded Boots of Travel
|
658
658
|
221:
|
659
659
|
- recipe_lotus_orb
|
660
|
-
- Recipe: Lotus Orb
|
660
|
+
- "Recipe: Lotus Orb"
|
661
661
|
226:
|
662
662
|
- lotus_orb
|
663
663
|
- Lotus Orb
|
664
664
|
227:
|
665
665
|
- recipe_solar_crest
|
666
|
-
- Recipe: Solar Crest
|
666
|
+
- "Recipe: Solar Crest"
|
667
667
|
228:
|
668
668
|
- recipe_octarine_core
|
669
|
-
- Recipe: Octarine Core
|
669
|
+
- "Recipe: Octarine Core"
|
670
670
|
229:
|
671
671
|
- solar_crest
|
672
672
|
- Solar Crest
|
673
673
|
230:
|
674
674
|
- recipe_guardian_greaves
|
675
|
-
- Recipe: Guardian Greaves
|
675
|
+
- "Recipe: Guardian Greaves"
|
676
676
|
231:
|
677
677
|
- guardian_greaves
|
678
678
|
- Guardian Greaves
|
679
|
+
232:
|
680
|
+
- aether_lens
|
681
|
+
- Aether Lens
|
682
|
+
233:
|
683
|
+
- recipe_aether_lens
|
684
|
+
- "Recipe: Aether Lens"
|
685
|
+
234:
|
686
|
+
- recipe_dragon_lance
|
687
|
+
- "Recipe: Dragon Lance"
|
679
688
|
235:
|
680
689
|
- octarine_core
|
681
690
|
- Octarine Core
|
691
|
+
236:
|
692
|
+
- dragon_lance
|
693
|
+
- Dragon Lance
|
694
|
+
237:
|
695
|
+
- faerie_fire
|
696
|
+
- Faerie Fire
|
697
|
+
238:
|
698
|
+
- recipe_iron_talon
|
699
|
+
- "Recipe: Iron Talon"
|
700
|
+
239:
|
701
|
+
- iron_talon
|
702
|
+
- Iron Talon
|
703
|
+
240:
|
704
|
+
- blight_stone
|
705
|
+
- Blight Stone
|
682
706
|
241:
|
683
707
|
- tango_single
|
684
708
|
- Tango (Shared)
|
@@ -687,25 +711,55 @@
|
|
687
711
|
- Crimson Guard
|
688
712
|
243:
|
689
713
|
- recipe_crimson_guard
|
690
|
-
- Recipe: Crimson Guard
|
714
|
+
- "Recipe: Crimson Guard"
|
715
|
+
244:
|
716
|
+
- wind_lace
|
717
|
+
- Wind Lace
|
718
|
+
245:
|
719
|
+
- recipe_bloodthorn
|
720
|
+
- "Recipe: Bloodthorn"
|
691
721
|
246:
|
692
722
|
- recipe_moon_shard
|
693
|
-
- Recipe: Moon Shard
|
723
|
+
- "Recipe: Moon Shard"
|
694
724
|
247:
|
695
725
|
- moon_shard
|
696
726
|
- Moon Shard
|
697
727
|
248:
|
698
728
|
- recipe_silver_edge
|
699
|
-
- Recipe: Silver Edge
|
729
|
+
- "Recipe: Silver Edge"
|
700
730
|
249:
|
701
731
|
- silver_edge
|
702
732
|
- Silver Edge
|
733
|
+
250:
|
734
|
+
- bloodthorn
|
735
|
+
- Bloodthorn
|
736
|
+
251:
|
737
|
+
- recipe_echo_sabre
|
738
|
+
- "Recipe: Echo Sabre"
|
739
|
+
252:
|
740
|
+
- echo_sabre
|
741
|
+
- Echo Sabre
|
703
742
|
253:
|
704
743
|
- recipe_glimmer_cape
|
705
|
-
- Recipe: Glimmer Cape
|
744
|
+
- "Recipe: Glimmer Cape"
|
706
745
|
254:
|
707
746
|
- glimmer_cape
|
708
747
|
- Glimmer Cape
|
748
|
+
257:
|
749
|
+
- tome_of_knowledge
|
750
|
+
- Tome of Knowledge
|
751
|
+
262:
|
752
|
+
- recipe_hurricane_pike
|
753
|
+
- "Recipe: Hurricane Pike"
|
754
|
+
263:
|
755
|
+
- hurricane_pike
|
756
|
+
- Hurricane Pike
|
757
|
+
264:
|
758
|
+
- banana
|
759
|
+
- Banana
|
760
|
+
265:
|
761
|
+
- infused_raindrop
|
762
|
+
- Infused Raindrop
|
709
763
|
1000:
|
710
764
|
- halloween_candy_corn
|
711
765
|
- Greevil Taffy
|
@@ -768,4 +822,4 @@
|
|
768
822
|
- Greevil Chow
|
769
823
|
1020:
|
770
824
|
- winter_greevil_chewy
|
771
|
-
- Greevil Blink Bone
|
825
|
+
- Greevil Blink Bone
|
data/dota.gemspec
CHANGED
@@ -18,16 +18,16 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
+
spec.add_dependency "facets", "~> 3.0"
|
21
22
|
spec.add_dependency "faraday", "~> 0.9.1"
|
22
23
|
spec.add_dependency "faraday_middleware", "~> 0.9.1"
|
23
|
-
spec.add_dependency "facets", "~> 3.0.0"
|
24
24
|
|
25
|
-
spec.add_development_dependency "
|
26
|
-
spec.add_development_dependency "
|
27
|
-
spec.add_development_dependency "guard-rspec"
|
28
|
-
spec.add_development_dependency "
|
29
|
-
spec.add_development_dependency "
|
30
|
-
spec.add_development_dependency "
|
31
|
-
spec.add_development_dependency "
|
32
|
-
spec.add_development_dependency "
|
25
|
+
spec.add_development_dependency "codeclimate-test-reporter", "~> 0.5.0"
|
26
|
+
spec.add_development_dependency "dotenv", "~> 2.1"
|
27
|
+
spec.add_development_dependency "guard-rspec", "~> 4.6"
|
28
|
+
spec.add_development_dependency "listen", "~> 2.10"
|
29
|
+
spec.add_development_dependency "pry", "~> 0.10"
|
30
|
+
spec.add_development_dependency "rake", "~> 11.1"
|
31
|
+
spec.add_development_dependency "rspec", "~> 3.4"
|
32
|
+
spec.add_development_dependency "vcr", "~> 3.0"
|
33
33
|
end
|
data/lib/dota/api/item.rb
CHANGED
@@ -11,15 +11,12 @@ module Dota
|
|
11
11
|
@name = mapping[id][1]
|
12
12
|
end
|
13
13
|
|
14
|
+
# Possible values for type:
|
15
|
+
# :lg - 85x64 PNG image
|
16
|
+
# :eg - 27x20 PNG image
|
14
17
|
def image_url(type = :lg)
|
15
|
-
|
16
|
-
|
17
|
-
# :eg - 27x20 PNG image
|
18
|
-
if internal_name =~ /\Arecipe/
|
19
|
-
"http://cdn.dota2.com/apps/dota2/images/items/recipe_#{type}.png"
|
20
|
-
else
|
21
|
-
"http://cdn.dota2.com/apps/dota2/images/items/#{internal_name}_#{type}.png"
|
22
|
-
end
|
18
|
+
filename = "#{internal_name.sub(/\Arecipe_/, '')}_#{type}.png"
|
19
|
+
"http://cdn.dota2.com/apps/dota2/images/items/#{filename}"
|
23
20
|
end
|
24
21
|
|
25
22
|
private
|
data/lib/dota/api/league.rb
CHANGED
data/lib/dota/api/live_match.rb
CHANGED
@@ -2,7 +2,7 @@ module Dota
|
|
2
2
|
module API
|
3
3
|
class LiveMatch < BasicMatch
|
4
4
|
def duration
|
5
|
-
|
5
|
+
raw_scoreboard["duration"]
|
6
6
|
end
|
7
7
|
|
8
8
|
def league_id
|
@@ -30,37 +30,40 @@ module Dota
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def roshan_timer
|
33
|
-
|
33
|
+
raw_scoreboard["roshan_respawn_timer"]
|
34
34
|
end
|
35
35
|
|
36
36
|
def radiant
|
37
|
-
@radiant ||= Side.new(raw_side(
|
37
|
+
@radiant ||= Side.new(raw_side("radiant"))
|
38
38
|
end
|
39
39
|
|
40
40
|
def dire
|
41
|
-
@dire ||= Side.new(raw_side(
|
41
|
+
@dire ||= Side.new(raw_side("dire"))
|
42
42
|
end
|
43
43
|
|
44
44
|
private
|
45
45
|
|
46
|
-
def
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
46
|
+
def raw_scoreboard
|
47
|
+
raw["scoreboard"] || {
|
48
|
+
"radiant" => { "players" => [] },
|
49
|
+
"dire" => { "players" => [] },
|
50
|
+
}
|
51
51
|
end
|
52
52
|
|
53
|
-
def
|
54
|
-
|
55
|
-
|
56
|
-
player.merge("name" => player_name_from_id(
|
53
|
+
def raw_side(type)
|
54
|
+
side_scoreboard = raw_scoreboard[type]
|
55
|
+
side_players = side_scoreboard["players"].map do |player|
|
56
|
+
player.merge("name" => player_name_from_id(player["account_id"]))
|
57
57
|
end
|
58
|
-
|
58
|
+
|
59
|
+
(raw["#{type}_team"] || {})
|
60
|
+
.merge(side_scoreboard)
|
61
|
+
.merge("players" => side_players)
|
62
|
+
.merge("series_wins" => raw["#{type}_series_wins"])
|
59
63
|
end
|
60
64
|
|
61
65
|
def player_name_from_id(id)
|
62
|
-
|
63
|
-
player["name"]
|
66
|
+
raw["players"].detect { |p| id == p["account_id"] }["name"]
|
64
67
|
end
|
65
68
|
end
|
66
69
|
end
|
data/lib/dota/version.rb
CHANGED
data/spec/dota/api/hero_spec.rb
CHANGED
data/spec/dota/api/item_spec.rb
CHANGED
@@ -4,7 +4,7 @@ RSpec.describe Dota::API::Item do
|
|
4
4
|
specify ".all" do
|
5
5
|
items = described_class.all
|
6
6
|
expect(items.first).to be_a described_class
|
7
|
-
expect(items.count).to eq
|
7
|
+
expect(items.count).to eq 275
|
8
8
|
end
|
9
9
|
|
10
10
|
specify "#id" do
|
@@ -15,7 +15,14 @@ RSpec.describe Dota::API::Item do
|
|
15
15
|
expect(item.name).to eq "Blink Dagger"
|
16
16
|
end
|
17
17
|
|
18
|
-
|
19
|
-
|
18
|
+
describe "#image_url" do
|
19
|
+
specify "normal" do
|
20
|
+
expect(item.image_url).to eq "http://cdn.dota2.com/apps/dota2/images/items/blink_lg.png"
|
21
|
+
end
|
22
|
+
|
23
|
+
specify "recipe-like" do
|
24
|
+
expect(item).to receive(:internal_name) { "recipe_some_other_item" }
|
25
|
+
expect(item.image_url).to eq "http://cdn.dota2.com/apps/dota2/images/items/some_other_item_lg.png"
|
26
|
+
end
|
20
27
|
end
|
21
28
|
end
|
@@ -25,12 +25,36 @@ RSpec.describe Dota::API::LiveMatch do
|
|
25
25
|
expect(live_match.stream_delay).to eq 120
|
26
26
|
end
|
27
27
|
|
28
|
-
|
29
|
-
|
28
|
+
describe "#radiant" do
|
29
|
+
specify do
|
30
|
+
expect(live_match.radiant).to be_a Dota::API::LiveMatch::Side
|
31
|
+
end
|
32
|
+
|
33
|
+
specify "team without a profile" do
|
34
|
+
live_match.raw["radiant_team"] = nil
|
35
|
+
expect(live_match.radiant).to be_a Dota::API::LiveMatch::Side
|
36
|
+
end
|
37
|
+
|
38
|
+
specify "no scoreboard" do
|
39
|
+
live_match.raw["scoreboard"] = nil
|
40
|
+
expect(live_match.radiant).to be_a Dota::API::LiveMatch::Side
|
41
|
+
end
|
30
42
|
end
|
31
43
|
|
32
|
-
|
33
|
-
|
44
|
+
describe "#dire" do
|
45
|
+
specify do
|
46
|
+
expect(live_match.dire).to be_a Dota::API::LiveMatch::Side
|
47
|
+
end
|
48
|
+
|
49
|
+
specify "team without a profile" do
|
50
|
+
live_match.raw["dire_team"] = nil
|
51
|
+
expect(live_match.dire).to be_a Dota::API::LiveMatch::Side
|
52
|
+
end
|
53
|
+
|
54
|
+
specify "no scoreboard" do
|
55
|
+
live_match.raw["scoreboard"] = nil
|
56
|
+
expect(live_match.dire).to be_a Dota::API::LiveMatch::Side
|
57
|
+
end
|
34
58
|
end
|
35
59
|
|
36
60
|
specify "#series_type" do
|
data/spec/support/vcr.rb
CHANGED
@@ -3,7 +3,7 @@ require 'vcr'
|
|
3
3
|
VCR.configure do |c|
|
4
4
|
c.ignore_hosts "codeclimate.com"
|
5
5
|
c.allow_http_connections_when_no_cassette = false
|
6
|
-
c.hook_into :
|
6
|
+
c.hook_into :faraday
|
7
7
|
c.cassette_library_dir = File.join(File.dirname(__FILE__), "..", "fixtures", "vcr_cassettes")
|
8
8
|
c.configure_rspec_metadata!
|
9
9
|
c.filter_sensitive_data("<STEAM_API_KEY>") { ENV.fetch("STEAM_API_KEY") }
|
metadata
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dota
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.20
|
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:
|
11
|
+
date: 2016-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: facets
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0
|
19
|
+
version: '3.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0
|
26
|
+
version: '3.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: faraday
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
@@ -39,131 +39,131 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 0.9.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: faraday_middleware
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.9.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.9.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: codeclimate-test-reporter
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.5.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 0.5.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: dotenv
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '2.1'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '2.1'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: guard-rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '4.6'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '4.6'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: listen
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '2.10'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '2.10'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: pry
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
117
|
+
version: '0.10'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
124
|
+
version: '0.10'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: rake
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
131
|
+
version: '11.1'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
138
|
+
version: '11.1'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: rspec
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
145
|
+
version: '3.4'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
152
|
+
version: '3.4'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
154
|
+
name: vcr
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- - "
|
157
|
+
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
159
|
+
version: '3.0'
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- - "
|
164
|
+
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
166
|
+
version: '3.0'
|
167
167
|
description: Ruby client for the Dota 2 WebAPI
|
168
168
|
email:
|
169
169
|
- vinnicc@gmail.com
|
@@ -262,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
262
262
|
version: '0'
|
263
263
|
requirements: []
|
264
264
|
rubyforge_project:
|
265
|
-
rubygems_version: 2.
|
265
|
+
rubygems_version: 2.5.1
|
266
266
|
signing_key:
|
267
267
|
specification_version: 4
|
268
268
|
summary: Ruby client for the Dota 2 WebAPI
|