riot_lol_api 0.1.12 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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'}]"