riot_lol_api 0.1.12 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +86 -69
  3. data/curl_import.rb +226 -0
  4. data/lib/core_ext/hash.rb +1 -1
  5. data/lib/riot_lol_api/{client.rb → clients.rb} +9 -7
  6. data/lib/riot_lol_api/helper_classes.rb +22 -0
  7. data/lib/riot_lol_api/model/{aggregated_stat.rb → aggregated_stats.rb} +0 -0
  8. data/lib/riot_lol_api/model/{altimage.rb → altimages.rb} +0 -0
  9. data/lib/riot_lol_api/model/{block.rb → blocks.rb} +2 -2
  10. data/lib/riot_lol_api/model/champions.rb +23 -0
  11. data/lib/riot_lol_api/model/class_base.rb +14 -0
  12. data/lib/riot_lol_api/model/creepspermindeltas.rb +14 -0
  13. data/lib/riot_lol_api/model/csdiffpermindeltas.rb +14 -0
  14. data/lib/riot_lol_api/model/damagetakendiffpermindeltas.rb +13 -0
  15. data/lib/riot_lol_api/model/damagetakenpermindeltas.rb +14 -0
  16. data/lib/riot_lol_api/model/{datum.rb → data.rb} +0 -0
  17. data/lib/riot_lol_api/model/effects.rb +14 -0
  18. data/lib/riot_lol_api/model/{entry.rb → entries.rb} +0 -0
  19. data/lib/riot_lol_api/model/{fellow_player.rb → fellow_players.rb} +0 -0
  20. data/lib/riot_lol_api/model/{game.rb → games.rb} +3 -3
  21. data/lib/riot_lol_api/model/goldpermindeltas.rb +14 -0
  22. data/lib/riot_lol_api/model/{gold.rb → golds.rb} +0 -0
  23. data/lib/riot_lol_api/model/{image.rb → images.rb} +0 -0
  24. data/lib/riot_lol_api/model/{info.rb → infos.rb} +0 -0
  25. data/lib/riot_lol_api/model/{item.rb → items.rb} +4 -3
  26. data/lib/riot_lol_api/model/{league.rb → leagues.rb} +3 -3
  27. data/lib/riot_lol_api/model/{leveltip.rb → leveltips.rb} +0 -0
  28. data/lib/riot_lol_api/model/{map.rb → maps.rb} +0 -0
  29. data/lib/riot_lol_api/model/{mastery.rb → masteries.rb} +0 -0
  30. data/lib/riot_lol_api/model/matches.rb +14 -0
  31. data/lib/riot_lol_api/model/{mini_sery.rb → mini_series.rb} +0 -0
  32. data/lib/riot_lol_api/model/{page.rb → pages.rb} +3 -3
  33. data/lib/riot_lol_api/model/participantidentities.rb +13 -0
  34. data/lib/riot_lol_api/model/participants.rb +14 -0
  35. data/lib/riot_lol_api/model/{passive.rb → passives.rb} +2 -2
  36. data/lib/riot_lol_api/model/{player_stat_rank.rb → player_stat_ranks.rb} +2 -2
  37. data/lib/riot_lol_api/model/{player_stat_summary.rb → player_stat_summaries.rb} +2 -2
  38. data/lib/riot_lol_api/model/players.rb +13 -0
  39. data/lib/riot_lol_api/model/{recommended.rb → recommendeds.rb} +2 -2
  40. data/lib/riot_lol_api/model/{rune.rb → runes.rb} +0 -0
  41. data/lib/riot_lol_api/model/{skin.rb → skins.rb} +0 -0
  42. data/lib/riot_lol_api/model/{slot.rb → slots.rb} +0 -0
  43. data/lib/riot_lol_api/model/{spell.rb → spells.rb} +5 -5
  44. data/lib/riot_lol_api/model/{stat.rb → stats.rb} +0 -0
  45. data/lib/riot_lol_api/model/{summoner.rb → summoners.rb} +42 -11
  46. data/lib/riot_lol_api/model/timelines.rb +16 -0
  47. data/lib/riot_lol_api/model/{var.rb → vars.rb} +0 -0
  48. data/lib/riot_lol_api/model/xpdiffpermindeltas.rb +14 -0
  49. data/lib/riot_lol_api/model/xppermindeltas.rb +14 -0
  50. data/lib/riot_lol_api/models.rb +8 -0
  51. data/lib/riot_lol_api/version.rb +1 -1
  52. data/lib/riot_lol_api.rb +4 -2
  53. data/riot_lol_api.gemspec +6 -4
  54. data/spec/factories/game.rb +6 -6
  55. data/spec/factories/page.rb +1 -1
  56. data/spec/factories/summoner.rb +3 -3
  57. data/spec/mock_response/get_all_champions_by_ids.json +3 -3
  58. data/spec/mock_response/get_all_champions_by_ids_all_data.json +3 -3
  59. data/spec/mock_response/get_all_item.json +3 -3
  60. data/spec/mock_response/get_all_masteries.json +3 -3
  61. data/spec/mock_response/get_all_runes.json +3 -3
  62. data/spec/mock_response/get_all_summoner_spells.json +3 -3
  63. data/spec/mock_response/get_all_summoner_spells_by_ids.json +3 -3
  64. data/spec/mock_response/get_champion_by_id.json +2 -2
  65. data/spec/mock_response/get_champion_by_id_all_data.json +3 -3
  66. data/spec/mock_response/get_item_by_id.json +3 -3
  67. data/spec/mock_response/get_mastery_by_id.json +3 -3
  68. data/spec/mock_response/get_match_by_id.json +13 -0
  69. data/spec/mock_response/get_match_history.json +13 -0
  70. data/spec/mock_response/get_player_league.json +5 -3
  71. data/spec/mock_response/get_player_stat_ranked.json +4 -3
  72. data/spec/mock_response/get_player_stat_summaries.json +5 -5
  73. data/spec/mock_response/get_realm.json +4 -4
  74. data/spec/mock_response/get_rune_by_id.json +2 -2
  75. data/spec/mock_response/get_summoner_by_id.json +5 -4
  76. data/spec/mock_response/get_summoner_by_name.json +5 -4
  77. data/spec/mock_response/get_summoner_games_by_id.json +4 -3
  78. data/spec/mock_response/get_summoner_masteries_by_id.json +5 -4
  79. data/spec/mock_response/get_summoner_runes_by_id.json +5 -4
  80. data/spec/mock_response/get_summoner_spell_by_id.json +3 -3
  81. data/spec/mock_response/get_version.json +4 -4
  82. data/spec/mock_response/summoner.json +13 -0
  83. data/spec/riot_lol_api_spec.rb +559 -608
  84. metadata +83 -33
  85. data/lib/riot_lol_api/model/champion.rb +0 -23
  86. data/lib/riot_lol_api/model.rb +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 74ffb5246cc8fb25a72521ce4f72da6b2560e5ee
4
- data.tar.gz: 60d961edac563299717c322136aa35ad69b35936
3
+ metadata.gz: 55cddea247b142f00ced7a4d0798d724ed04fdec
4
+ data.tar.gz: 9f03e742001c2b6c11c3b52105f9e52d5ad5c38e
5
5
  SHA512:
6
- metadata.gz: 09ee1de74b7def010cec9711ee0e88124ae9a429f540320d641a0f96b5851b94689afe5e4873d653930263bbf62b2c00307921c9b2e20b8f5d054b14ad74cac1
7
- data.tar.gz: 071c3995ddefedcddd8cda33720991e613da5917dcf87807a43c14b92f3dd8c05a0bbca0aa4754411d56a20074891e4e4b2aad19fe24dd7a69da2b793c406a24
6
+ metadata.gz: 4e0e7bcd63daf80194aa0c9dcbea29562dc3174d14879ee688a7e00ed1e766d83214e93beffa43f4de51d6a5a5f04271ee05a9f5e27598b4497a1aa747f5ca21
7
+ data.tar.gz: 105c1de64289204f303d1753f69eaf782e3626dfeb173220ecd12aae2503e6348ea782ecfb4b53ae7248d4aad4536f25486cd2383f76ecc59f26348ce5be6198
data/README.md CHANGED
@@ -1,28 +1,33 @@
1
+ # Gem Riot games API wrapper for Ruby - League of Legends
2
+
1
3
  [![Gem Version](https://badge.fury.io/rb/riot_lol_api.svg)](http://badge.fury.io/rb/riot_lol_api)
2
4
 
3
5
  ```
4
- __________.__ __ _____ __________.___
6
+ __________.__ __ _____ __________.___
5
7
  \______ \__| _____/ |_ _________ _____ ____ / _ \\______ \ |
6
8
  | _/ |/ _ \ __\ / ___\__ \ / \_/ __ \ / /_\ \| ___/ |
7
9
  | | \ ( <_> ) | / /_/ > __ \| Y Y \ ___/ / | \ | | |
8
10
  |____|_ /__|\____/|__| \___ (____ /__|_| /\___ > \____|__ /____| |___|
9
- \/ /_____/ \/ \/ \/ \/
11
+ \/ /_____/ \/ \/ \/ \/
10
12
  ```
11
13
 
12
- ## Status
14
+ ## Status
13
15
 
14
- ###V 0.1.0
16
+ ###V 0.2.0
15
17
 
16
18
  ```
17
- - champion-v1.2 ... NO IMPLEMENT
18
- - game-v1.3 ... OK
19
- - league-v2.4 ...
20
- /by-summoner/{summonerIds}/entry ... OK
21
- - lol-static-data-v1.2 ... OK
22
- - stats-v1.3 ... OK
23
- - summoner-v1.4 ... OK
24
- /{summonerIds}/name ... NO IMPLEMENT
25
- - team-v2.3 ... NO IMPLEMENT
19
+ - champion-v1.2 NO IMPLEMENT
20
+ - current-game-v1.0 PROGRESS
21
+ - featured-games-v1.0 PROGRESS
22
+ - game-v1.3 OK
23
+ - league-v2.5 PROGRESS
24
+ - lol-static-data-v1.2 OK
25
+ - lol-status-v1.0 NO IMPLEMENT
26
+ - match-v2.2 PROGRESS
27
+ - matchhistory-v2.2 PROGRESS
28
+ - stats-v1.3 OK
29
+ - summoner-v1.4 OK
30
+ - team-v2.4 NO IMPLEMENT
26
31
  ```
27
32
 
28
33
  ## Installation
@@ -62,12 +67,16 @@ summoner = client.get_summoner_by_name 'your_summoner_name'
62
67
 
63
68
  Methods
64
69
  ```ruby
65
- # CLIENT
70
+ ##########
71
+ # CLIENT #
72
+ ##########
66
73
 
67
74
  # Create client object
68
75
  client = RiotLolApi::Client.new(:region => 'your_region')
69
76
 
70
- # SUMMONER
77
+ ############
78
+ # SUMMONER #
79
+ ############
71
80
 
72
81
  # Get summoner by name
73
82
  # params : name => string
@@ -77,112 +86,120 @@ client.get_summoner_by_name 'pacoloco'
77
86
  # params : id => integer
78
87
  client.get_summoner_by_id 20639710
79
88
 
80
- # CHAMPION
89
+ # Get sumoner masteries
90
+ summoner.masteries
91
+
92
+ # Get sumoner runes
93
+ summoner.runes
94
+
95
+ # Get sumoner games
96
+ summoner.games
97
+
98
+ # Get sumoner stat_summaries
99
+ summoner.stat_summaries
100
+
101
+ # Get sumoner get_league_stats
102
+ summoner.get_league_stats
103
+
104
+ ############
105
+ # CHAMPION #
106
+ ############
81
107
 
82
108
  # Get champion by id
83
- # params :
84
- # id => integer,
85
- # data => hash (version, champData) - default => nill,
109
+ # params :
110
+ # id => integer,
111
+ # data => hash (version, champData) - default => nil,
86
112
  # locale => string ('fr_FR','en_EN', ...) - default => 'fr_FR'
87
- client.get_champion_by_id id_champ, data = {:version => num_version, :champData => 'all'}, locale = 'fr_FR'
113
+ client.get_champion_by_id id_champ, {:version => num_version, :champData => 'all'}, 'fr_FR'
88
114
 
89
115
  # Get all champions
90
116
  # params :
91
- # data => hash (version, champData) - default => nill,
117
+ # data => hash (version, champData) - default => nil,
92
118
  # sort_id => boolean - default => false
93
119
  # locale => string ('fr_FR','en_EN', ...) - default => 'fr_FR'
94
- client.get_all_champions data = {:version => num_version, :champData => 'all'}, sort_id = 'false', locale = 'fr_FR'
120
+ client.get_all_champions {:version => num_version, :champData => 'all'}, 'false', 'fr_FR'
95
121
 
96
- # ITEM
122
+ ########
123
+ # ITEM #
124
+ ########
97
125
 
98
126
  # Get item by id
99
127
  # params :
100
- # id => integer,
101
- # data => hash (version, itemListData) - default => nill,
128
+ # id => integer,
129
+ # data => hash (version, itemListData) - default => nil,
102
130
  # locale => string ('fr_FR','en_EN', ...) - default => 'fr_FR'
103
- client.get_item_by_id id, data = {:version => num_version, :itemListData => 'all'}, locale = 'fr_FR'
131
+ client.get_item_by_id id, {:version => num_version, :itemListData => 'all'}, 'fr_FR'
104
132
 
105
133
  # Get all items
106
134
  # params :
107
- # data => hash (version, itemListData) - default => nill,
135
+ # data => hash (version, itemListData) - default => nil,
108
136
  # locale => string ('fr_FR','en_EN', ...) - default => 'fr_FR'
109
- client.get_all_items data = {:version => num_version, :itemListData => 'all'}, locale = 'fr_FR'
137
+ client.get_all_items {:version => num_version, :itemListData => 'all'}, 'fr_FR'
110
138
 
111
- # MASTERY
139
+ ###########
140
+ # MASTERY #
141
+ ###########
112
142
 
113
143
  # Get masteries by id
114
144
  # params :
115
- # id => integer,
116
- # data => hash (version, masteryListData) - default => nill,
145
+ # id => integer,
146
+ # data => hash (version, masteryListData) - default => nil,
117
147
  # locale => string ('fr_FR','en_EN', ...) - default => 'fr_FR'
118
- client.get_mastery_by_id id, data = {:version => num_version, :masteryListData => 'all'}, locale = 'fr_FR'
148
+ client.get_mastery_by_id id, {:version => num_version, :masteryListData => 'all'}, 'fr_FR'
119
149
 
120
150
  # Get all masteries
121
151
  # params :
122
- # data => hash (version, masteryListData) - default => nill,
152
+ # data => hash (version, masteryListData) - default => nil,
123
153
  # locale => string ('fr_FR','en_EN', ...) - default => 'fr_FR'
124
- client.get_all_masteries data = {:version => num_version, :masteryListData => 'all'}, locale = 'fr_FR'
154
+ client.get_all_masteries {:version => num_version, :masteryListData => 'all'}, 'fr_FR'
125
155
 
126
- # RUNE
156
+ ########
157
+ # RUNE #
158
+ ########
127
159
 
128
160
  # Get rune by id
129
161
  # params :
130
- # id => integer,
131
- # data => hash (version, runeListData) - default => nill,
162
+ # id => integer,
163
+ # data => hash (version, runeListData) - default => nil,
132
164
  # locale => string ('fr_FR','en_EN', ...) - default => 'fr_FR'
133
- client.get_rune_by_id id, data = {:version => num_version, :runeListData => 'all'}, locale = 'fr_FR'
165
+ client.get_rune_by_id id, {:version => num_version, :runeListData => 'all'}, 'fr_FR'
134
166
 
135
167
  # Get all rune
136
- # params :
137
- # data => hash (version, runeListData) - default => nill,
168
+ # params :
169
+ # data => hash (version, runeListData) - default => nil,
138
170
  # locale => string ('fr_FR','en_EN', ...) - default => 'fr_FR'
139
- client.get_all_runes data = {:version => num_version, :runeListData => 'all'}, locale = 'fr_FR'
171
+ client.get_all_runes {:version => num_version, :runeListData => 'all'}, 'fr_FR'
140
172
 
141
- # SUMMONER SPELL
173
+ ##################
174
+ # SUMMONER SPELL #
175
+ ##################
142
176
 
143
177
  # Get summoner spell by id
144
178
  # params :
145
- # id => integer,
146
- # data => hash (version, spellData) - default => nill,
179
+ # id => integer,
180
+ # data => hash (version, spellData) - default => nil,
147
181
  # locale => string ('fr_FR','en_EN', ...) - default => 'fr_FR'
148
- client.get_summoner_spell_by_id id, data = {:version => num_version, :spellData => 'all'}, locale = 'fr_FR'
182
+ client.get_summoner_spell_by_id id, {:version => num_version, :spellData => 'all'}, 'fr_FR'
149
183
 
150
184
  # Get all summoner spell
151
- # params :
152
- # data => hash (version, spellData) - default => nill,
185
+ # params :
186
+ # data => hash (version, spellData) - default => nil,
153
187
  # sort_id => boolean - default => false
154
188
  # locale => string ('fr_FR','en_EN', ...) - default => 'fr_FR'
155
- client.get_all_summoner_spells data = {:version => num_version, :spellData => 'all'}, sort_id = 'false', locale = 'fr_FR'
189
+ client.get_all_summoner_spells {:version => num_version, :spellData => 'all'}, 'false', 'fr_FR'
156
190
 
157
- # INFORMATION
191
+ ###############
192
+ # INFORMATION #
193
+ ###############
158
194
 
159
195
  # Get version
160
196
  client.get_versions
161
197
 
162
- # SUMMONER
163
-
164
- # Create summoner object
165
- summoner = client.get_summoner_by_name 'pacoloco'
166
-
167
- # Get sumoner masteries
168
- summoner.masteries
169
-
170
- # Get sumoner runes
171
- summoner.runes
172
-
173
- # Get sumoner games
174
- summoner.games
175
-
176
- # Get sumoner stat_summaries
177
- summoner.stat_summaries
178
-
179
- # Get sumoner get_league_stats
180
- summoner.get_league_stats
181
-
182
198
  ```
183
199
 
184
200
  ## Change logs
185
201
 
202
+ - v 0.2.0 : Add method matchhistory and update season 5
186
203
  - v 0.1.12 : Add class datnum for champion entry
187
204
  - v 0.1.11 : Fix class mini_sery for league entry
188
205
  - v 0.1.1 : Add class mini_sery for league entry
data/curl_import.rb ADDED
@@ -0,0 +1,226 @@
1
+ # Params
2
+ API_KEY = ARGV[0]
3
+
4
+ # Tab files
5
+ TAB_CALLS = [
6
+ # game-v1.3
7
+ {
8
+ :url => "euw.api.pvp.net/api/lol/euw/v1.3/game/by-summoner/20639710/recent",
9
+ :filename => "get_summoner_games_by_id",
10
+ :params => nil
11
+ },
12
+ # league-v2.5
13
+ {
14
+ :url => "euw.api.pvp.net/api/lol/euw/v2.5/league/by-summoner/20639710/entry",
15
+ :filename => "get_player_league",
16
+ :params => nil
17
+ },
18
+ # lol-static-data-v1.2
19
+ {
20
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/champion",
21
+ :filename => "get_all_champions_by_ids",
22
+ :params => {
23
+ :locale => 'fr_FR'
24
+ }
25
+ },
26
+ {
27
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/champion",
28
+ :filename => "get_all_champions_by_ids_all_data",
29
+ :params => {
30
+ :locale => 'fr_FR',
31
+ :champData => 'all'
32
+ }
33
+ },
34
+ {
35
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/champion/412",
36
+ :filename => "get_champion_by_id",
37
+ :params => {
38
+ :locale => 'fr_FR'
39
+ }
40
+ },
41
+ {
42
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/champion/412",
43
+ :filename => "get_champion_by_id_all_data",
44
+ :params => {
45
+ :locale => 'fr_FR',
46
+ :champData => 'all'
47
+ }
48
+ },
49
+ {
50
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/item",
51
+ :filename => "get_all_item",
52
+ :params => {
53
+ :locale => 'fr_FR',
54
+ :itemListData => 'all'
55
+ }
56
+ },
57
+ {
58
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/item/2009",
59
+ :filename => "get_item_by_id",
60
+ :params => {
61
+ :locale => 'fr_FR',
62
+ :itemData => 'all'
63
+ }
64
+ },
65
+ {
66
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/mastery",
67
+ :filename => "get_all_masteries",
68
+ :params => {
69
+ :locale => 'fr_FR',
70
+ :masteryListData => 'all'
71
+ }
72
+ },
73
+ {
74
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/mastery/4353",
75
+ :filename => "get_mastery_by_id",
76
+ :params => {
77
+ :locale => 'fr_FR',
78
+ :masteryData => 'all'
79
+ }
80
+ },
81
+ {
82
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/realm",
83
+ :filename => "get_realm",
84
+ :params => nil
85
+ },
86
+ {
87
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/rune",
88
+ :filename => "get_all_runes",
89
+ :params => {
90
+ :locale => 'fr_FR',
91
+ :runeListData => 'all'
92
+ }
93
+ },
94
+ {
95
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/rune/5235",
96
+ :filename => "get_rune_by_id",
97
+ :params => {
98
+ :locale => 'fr_FR',
99
+ :runeData => 'all'
100
+ }
101
+ },
102
+ {
103
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/summoner-spell",
104
+ :filename => "get_all_summoner_spells",
105
+ :params => {
106
+ :locale => 'fr_FR',
107
+ :dataById => 'false',
108
+ :spellData => 'all'
109
+ }
110
+ },
111
+ {
112
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/summoner-spell",
113
+ :filename => "get_all_summoner_spells_by_ids",
114
+ :params => {
115
+ :locale => 'fr_FR',
116
+ :dataById => 'true',
117
+ :spellData => 'all'
118
+ }
119
+ },
120
+ {
121
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/summoner-spell/17",
122
+ :filename => "get_summoner_spell_by_id",
123
+ :params => {
124
+ :locale => 'fr_FR',
125
+ :spellData => 'all'
126
+ }
127
+ },
128
+ {
129
+ :url => "global.api.pvp.net/api/lol/static-data/euw/v1.2/versions",
130
+ :filename => "get_version",
131
+ :params => nil
132
+ },
133
+ # match-v2.2
134
+ {
135
+ # A faire
136
+ :url => "euw.api.pvp.net/api/lol/euw/v2.2/match/1617870200",
137
+ :filename => "get_match_by_id",
138
+ :params => nil
139
+ },
140
+ # matchhistory-v2.2
141
+ {
142
+ # A faire
143
+ :url => "euw.api.pvp.net/api/lol/euw/v2.2/matchhistory/20639710",
144
+ :filename => "get_match_history",
145
+ :params => nil
146
+ },
147
+ # stats-v1.3
148
+ {
149
+ :url => "euw.api.pvp.net/api/lol/euw/v1.3/stats/by-summoner/20639710/ranked",
150
+ :filename => "get_player_stat_ranked",
151
+ :params => {
152
+ :season => 'SEASON5'
153
+ }
154
+ },
155
+ {
156
+ :url => "euw.api.pvp.net/api/lol/euw/v1.3/stats/by-summoner/20639710/summary",
157
+ :filename => "get_player_stat_summaries",
158
+ :params => {
159
+ :season => 'SEASON5'
160
+ }
161
+ },
162
+ # summoner-v1.4
163
+ {
164
+ :url => "euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/pacoloco",
165
+ :filename => "summoner",
166
+ :params => nil
167
+ },
168
+ {
169
+ :url => "euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/pacoloco",
170
+ :filename => "get_summoner_by_name",
171
+ :params => nil
172
+ },
173
+ {
174
+ :url => "euw.api.pvp.net/api/lol/euw/v1.4/summoner/20639710",
175
+ :filename => "get_summoner_by_id",
176
+ :params => nil
177
+ },
178
+ {
179
+ :url => "euw.api.pvp.net/api/lol/euw/v1.4/summoner/20639710/masteries",
180
+ :filename => "get_summoner_masteries_by_id",
181
+ :params => nil
182
+ },
183
+ {
184
+ :url => "euw.api.pvp.net/api/lol/euw/v1.4/summoner/20639710/runes",
185
+ :filename => "get_summoner_runes_by_id",
186
+ :params => nil
187
+ }
188
+ ]
189
+
190
+ class Mock
191
+ attr_accessor :data, :url, :file
192
+
193
+ def format_url
194
+ full_url = "https://#{self.data[:url]}"
195
+ full_url += "\?"
196
+ unless self.data[:params].nil?
197
+ self.data[:params].each do |key,val|
198
+ full_url+= "#{key}\=#{val}"
199
+ full_url+= "\&"
200
+ end
201
+ end
202
+ full_url += "api_key\=#{API_KEY}"
203
+
204
+ self.url = full_url
205
+ self.file = self.data[:filename]
206
+ end
207
+
208
+ def call_curl
209
+ Kernel.system "curl -is '#{self.url}' > spec/mock_response/#{self.file}.json"
210
+ end
211
+
212
+ end
213
+
214
+ # List CURL commands
215
+ puts "Start curl script at [#{Time.now.strftime '%H:%M:%S'}]"
216
+
217
+ TAB_CALLS.each do |call|
218
+ mock = Mock.new
219
+ mock.data = call
220
+ mock.format_url
221
+ mock.call_curl
222
+ puts "[#{Time.now.strftime '%H:%M:%S'}] -> #{mock.file}"
223
+ sleep(2)
224
+ end
225
+
226
+ puts "Done at [#{Time.now.strftime '%H:%M:%S'}]"