smite_ruby 1.4.3 → 1.4.5
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +60 -0
- data/README.md +35 -21
- data/lib/smite.rb +18 -14
- data/lib/smite/client.rb +95 -13
- data/lib/smite/data_transform.rb +8 -8
- data/lib/smite/game.rb +43 -30
- data/lib/smite/getgods.json +151 -0
- data/lib/smite/god.rb +1 -1
- data/lib/smite/god_rank.rb +1 -1
- data/lib/smite/god_stats.rb +11 -13
- data/lib/smite/item.rb +18 -4
- data/lib/smite/motd.rb +19 -0
- data/lib/smite/object.rb +2 -1
- data/lib/smite/player.rb +20 -35
- data/lib/smite/queue.rb +19 -0
- data/lib/smite/recent_match.rb +18 -0
- data/lib/smite/recommended_items.rb +22 -0
- data/smite_ruby.gemspec +4 -2
- data/spec/ability_spec.rb +7 -0
- data/spec/achievements_spec.rb +7 -0
- data/spec/client_spec.rb +52 -0
- data/spec/data_transform_spec.rb +7 -0
- data/spec/friend_spec.rb +7 -0
- data/spec/game_spec.rb +200 -0
- data/spec/god_rank_spec.rb +7 -0
- data/spec/god_spec.rb +57 -0
- data/spec/god_stats_spec.rb +7 -0
- data/spec/item_effect_spec.rb +7 -0
- data/spec/item_spec.rb +85 -0
- data/spec/match_spec.rb +7 -0
- data/spec/player_spec.rb +76 -0
- data/spec/responses/createsession.json +1 -0
- data/spec/responses/getachievements.json +11 -0
- data/spec/responses/getdataused.json +1 -0
- data/spec/responses/getesportsproleaguedetails.json +1 -0
- data/spec/responses/getfriends.json +44 -0
- data/spec/responses/getgodranks.json +71 -0
- data/spec/responses/getgodrecommendeditems.json +1 -0
- data/spec/responses/getgods.json +461 -0
- data/spec/responses/getitems.json +118 -0
- data/spec/responses/getleagueleaderboard.json +1 -0
- data/spec/responses/getleagueseasons.json +1 -0
- data/spec/responses/getmatchdetails.json +1 -0
- data/spec/responses/getmatchhistory.json +61 -0
- data/spec/responses/getmatchidsbyqueue.json +1 -0
- data/spec/responses/getmatchplayerdetails.json +1 -0
- data/spec/responses/getmotd.json +37 -0
- data/spec/responses/getplayer.json +57 -0
- data/spec/responses/getplayerstatus.json +1 -0
- data/spec/responses/getqueuestats.json +1 -0
- data/spec/responses/getsearchteams.json +1 -0
- data/spec/responses/getteamdetails.json +1 -0
- data/spec/responses/getteamplayers.json +1 -0
- data/spec/responses/gettopmatches.json +1 -0
- data/spec/responses/testsession.json +1 -0
- data/spec/shared_examples/smite_object.rb +17 -0
- data/spec/spec_helper.rb +51 -0
- metadata +75 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25feb61882b2f684c7b2c3a719151693dd57f673
|
4
|
+
data.tar.gz: 935a446bc3a1d8688d254de67faf4c8a43c1d9a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ccccf5f6c6bc2c47de9ad36bfba1a811a794d958fe4a92c1762d79b65ca91f406d4919b9cfd54443ab9e31398d0b614235a5d7e877002db765f08a9610139c96
|
7
|
+
data.tar.gz: d82637008babe01c8a05129083c20dcb69a10918bd0b2ce5faf42431e8eb75e3b45c74337834f372d917b03847f65b18a3d86e48e71732e55c808721919539d5
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
smite_ruby (1.4.5)
|
5
|
+
activesupport
|
6
|
+
httparty
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: http://rubygems.org/
|
10
|
+
specs:
|
11
|
+
activesupport (4.2.3)
|
12
|
+
i18n (~> 0.7)
|
13
|
+
json (~> 1.7, >= 1.7.7)
|
14
|
+
minitest (~> 5.1)
|
15
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
16
|
+
tzinfo (~> 1.1)
|
17
|
+
addressable (2.3.8)
|
18
|
+
crack (0.4.3)
|
19
|
+
safe_yaml (~> 1.0.0)
|
20
|
+
diff-lcs (1.2.5)
|
21
|
+
hashdiff (0.2.3)
|
22
|
+
httparty (0.13.5)
|
23
|
+
json (~> 1.8)
|
24
|
+
multi_xml (>= 0.5.2)
|
25
|
+
i18n (0.7.0)
|
26
|
+
json (1.8.3)
|
27
|
+
minitest (5.8.3)
|
28
|
+
multi_xml (0.5.5)
|
29
|
+
rspec (3.3.0)
|
30
|
+
rspec-core (~> 3.3.0)
|
31
|
+
rspec-expectations (~> 3.3.0)
|
32
|
+
rspec-mocks (~> 3.3.0)
|
33
|
+
rspec-core (3.3.1)
|
34
|
+
rspec-support (~> 3.3.0)
|
35
|
+
rspec-expectations (3.3.0)
|
36
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
37
|
+
rspec-support (~> 3.3.0)
|
38
|
+
rspec-mocks (3.3.1)
|
39
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
40
|
+
rspec-support (~> 3.3.0)
|
41
|
+
rspec-support (3.3.0)
|
42
|
+
safe_yaml (1.0.4)
|
43
|
+
thread_safe (0.3.5)
|
44
|
+
tzinfo (1.2.2)
|
45
|
+
thread_safe (~> 0.1)
|
46
|
+
webmock (1.22.6)
|
47
|
+
addressable (>= 2.3.6)
|
48
|
+
crack (>= 0.3.2)
|
49
|
+
hashdiff
|
50
|
+
|
51
|
+
PLATFORMS
|
52
|
+
ruby
|
53
|
+
|
54
|
+
DEPENDENCIES
|
55
|
+
rspec
|
56
|
+
smite_ruby!
|
57
|
+
webmock
|
58
|
+
|
59
|
+
BUNDLED WITH
|
60
|
+
1.10.5
|
data/README.md
CHANGED
@@ -1,15 +1,32 @@
|
|
1
1
|
# Smite API Client for Ruby
|
2
2
|
---
|
3
|
+
A simple gem for consuming Smite's API data that includes a lightweight client (Smite::Client) and a slightly heavier object wrapper (Smite::Game)
|
3
4
|
1. `gem install smite_ruby`
|
4
5
|
2. `require 'smite'`
|
5
6
|
|
6
|
-
|
7
|
+
## Examples -- Smite::Game
|
7
8
|
---
|
8
9
|
|
9
10
|
### Creating a session
|
11
|
+
A session can be created through `Smite::Client` to manipulate API data directly in its raw form.
|
12
|
+
```
|
13
|
+
> client = Smite::Client.new(<dev_id>, <auth_key>)
|
14
|
+
#<Smite::Client:0x007fca3343c948
|
15
|
+
@auth_key="<auth_key>",
|
16
|
+
@dev_id=<dev_id>,
|
17
|
+
@session_id="<session_id>">
|
18
|
+
|
19
|
+
> client.test_session
|
20
|
+
"This was a successful test with the following parameters added: developer: <dev_id> time: 1/30/2016 6:14:25 PM signature: <signature> session: <session_id>"
|
21
|
+
|
22
|
+
> client.get_gods
|
23
|
+
(huge amount of json/xml god data)
|
24
|
+
```
|
25
|
+
|
26
|
+
You can also create a session through `Smite::Game`, which will provide extensive convenience methods for manipulating the data. The rest of this documentation will assume authentication was done in this way.
|
10
27
|
```
|
11
28
|
> Smite::Game.authenticate!(<dev_id>, <auth_key>)
|
12
|
-
|
29
|
+
true
|
13
30
|
```
|
14
31
|
|
15
32
|
### Finding a player
|
@@ -49,7 +66,7 @@ Smite::Game
|
|
49
66
|
> Smite::Game.item(7526)
|
50
67
|
#<Smite::Item 'Iron Mail'>
|
51
68
|
```
|
52
|
-
|
69
|
+
## Examples -- Smite::Player
|
53
70
|
---
|
54
71
|
```
|
55
72
|
> player = Smite::Game.player('adapting')
|
@@ -86,20 +103,17 @@ Smite::Game
|
|
86
103
|
...]
|
87
104
|
```
|
88
105
|
|
89
|
-
|
90
|
-
```
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
"TowerKills"=>5183,
|
99
|
-
"TripleKills"=>803,
|
100
|
-
"ret_msg"=>nil}
|
106
|
+
### Listing achievements
|
107
|
+
```
|
108
|
+
> achievements = player.achievements
|
109
|
+
#<Smite::Achievements 'Adapting'>
|
110
|
+
|
111
|
+
> achievements.double_kills
|
112
|
+
5280
|
113
|
+
> achievements.penta_kills
|
114
|
+
21
|
101
115
|
```
|
102
|
-
|
116
|
+
### Listing match history
|
103
117
|
```
|
104
118
|
> player.match_history
|
105
119
|
[#<Smite::Match 'Leagues: Conquest' 'Win'>,
|
@@ -109,8 +123,8 @@ Smite::Game
|
|
109
123
|
#<Smite::Match 'Leagues: Conquest' 'Loss'>,
|
110
124
|
#<Smite::Match 'Leagues: Conquest' 'Win'>,
|
111
125
|
... ]
|
112
|
-
|
113
|
-
|
126
|
+
```
|
127
|
+
## Examples -- Smite::Match
|
114
128
|
---
|
115
129
|
```
|
116
130
|
> match = player.match_history[0]
|
@@ -132,7 +146,7 @@ Smite::Game
|
|
132
146
|
> match.killing_spree
|
133
147
|
2
|
134
148
|
```
|
135
|
-
|
149
|
+
## Examples -- Smite::God
|
136
150
|
---
|
137
151
|
```
|
138
152
|
> merc = Smite::Game.god('Mercury')
|
@@ -148,7 +162,7 @@ Smite::Game
|
|
148
162
|
> merc.speed
|
149
163
|
375
|
150
164
|
```
|
151
|
-
|
165
|
+
## Examples -- Smite::GodRank
|
152
166
|
---
|
153
167
|
```
|
154
168
|
> rank = player.god_ranks[0]
|
@@ -163,7 +177,7 @@ Smite::Game
|
|
163
177
|
> rank.worshippers
|
164
178
|
4517
|
165
179
|
```
|
166
|
-
|
180
|
+
## Examples -- Smite::Item
|
167
181
|
---
|
168
182
|
```
|
169
183
|
> bov = Smite::Game.item('Breastplate of Valor')
|
data/lib/smite.rb
CHANGED
@@ -4,17 +4,21 @@ require 'active_support'
|
|
4
4
|
module Smite
|
5
5
|
end
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
7
|
+
require_relative './smite/object.rb'
|
8
|
+
require_relative './smite/queue.rb'
|
9
|
+
require_relative './smite/motd.rb'
|
10
|
+
require_relative './smite/recommended_items.rb'
|
11
|
+
require_relative './smite/achievements.rb'
|
12
|
+
require_relative './smite/ability.rb'
|
13
|
+
require_relative './smite/god_rank.rb'
|
14
|
+
require_relative './smite/god_stats.rb'
|
15
|
+
require_relative './smite/god.rb'
|
16
|
+
require_relative './smite/item_effect.rb'
|
17
|
+
require_relative './smite/item.rb'
|
18
|
+
require_relative './smite/friend.rb'
|
19
|
+
require_relative './smite/data_transform.rb'
|
20
|
+
require_relative './smite/match.rb'
|
21
|
+
require_relative './smite/recent_match.rb'
|
22
|
+
require_relative './smite/player.rb'
|
23
|
+
require_relative './smite/game.rb'
|
24
|
+
require_relative './smite/client.rb'
|
data/lib/smite/client.rb
CHANGED
@@ -1,26 +1,108 @@
|
|
1
1
|
module Smite
|
2
2
|
class Client
|
3
|
-
attr_reader :dev_id, :auth_key, :session_id
|
3
|
+
attr_reader :dev_id, :auth_key, :session_id, :lang
|
4
4
|
include HTTParty
|
5
5
|
base_uri 'http://api.smitegame.com/smiteapi.svc/'
|
6
6
|
|
7
|
-
def initialize(dev_id, auth_key)
|
7
|
+
def initialize(dev_id, auth_key, lang = 1)
|
8
8
|
@dev_id = dev_id
|
9
9
|
@auth_key = auth_key
|
10
|
+
@lang = [1,2,3,7,9,10,11,12,13].include?(lang) ? lang : 1
|
10
11
|
create_session
|
11
12
|
end
|
12
13
|
|
13
|
-
|
14
|
+
def esports_pro_league_details
|
15
|
+
api_call('getesportsproleaguedetails')
|
16
|
+
end
|
17
|
+
|
18
|
+
def god_recommended_items(god_id)
|
19
|
+
api_call('getgodrecommendeditems', [god_id, lang])
|
20
|
+
end
|
21
|
+
|
22
|
+
def match_player_details(match_id)
|
23
|
+
api_call('getmatchplayerdetails', [match_id])
|
24
|
+
end
|
25
|
+
|
26
|
+
def match_ids_by_queue(queue, date, hour)
|
27
|
+
api_call('getmatchidsbyqueue', [queue, date, hour])
|
28
|
+
end
|
29
|
+
|
30
|
+
def league_seasons(queue)
|
31
|
+
api_call('getleagueseasons', [queue])
|
32
|
+
end
|
33
|
+
|
34
|
+
def league_leaderboard(queue, tier, season)
|
35
|
+
api_call('getleagueleaderboard', [queue, tier, season])
|
36
|
+
end
|
37
|
+
|
38
|
+
def motd
|
39
|
+
api_call('getmotd')
|
40
|
+
end
|
41
|
+
|
42
|
+
def player_status(player_name)
|
43
|
+
api_call('getplayerstatus', [player_name])
|
44
|
+
end
|
45
|
+
|
46
|
+
def queue_stats(player_name, queue)
|
47
|
+
api_call('getqueuestats', [player_name, queue])
|
48
|
+
end
|
49
|
+
|
50
|
+
def team_details(clan_id)
|
51
|
+
api_call('getteamdetails', [clan_id])
|
52
|
+
end
|
53
|
+
|
54
|
+
def team_players(clan_id)
|
55
|
+
api_call('getteamplayers', [clan_id])
|
56
|
+
end
|
57
|
+
|
58
|
+
def top_matches
|
59
|
+
api_call('gettopmatches')
|
60
|
+
end
|
61
|
+
|
62
|
+
def match_details(match_id)
|
63
|
+
api_call('getmatchdetails', [match_id])
|
64
|
+
end
|
65
|
+
|
66
|
+
def gods
|
67
|
+
api_call('getgods', [lang])
|
68
|
+
end
|
69
|
+
|
70
|
+
def items
|
71
|
+
api_call('getitems', [lang])
|
72
|
+
end
|
73
|
+
|
74
|
+
def achievements(player_id)
|
75
|
+
api_call('getplayerachievements', [player_id])
|
76
|
+
end
|
77
|
+
|
78
|
+
def friends(player_name)
|
79
|
+
api_call('getfriends', [player_name])
|
80
|
+
end
|
81
|
+
|
82
|
+
def god_ranks(player_name)
|
83
|
+
api_call('getgodranks', [player_name])
|
84
|
+
end
|
85
|
+
|
86
|
+
def player(player_name)
|
87
|
+
api_call('getplayer', [player_name])
|
88
|
+
end
|
89
|
+
|
90
|
+
def match_history(player_name)
|
91
|
+
api_call('getmatchhistory', [player_name])
|
92
|
+
end
|
93
|
+
|
94
|
+
def search_teams(team_name)
|
95
|
+
api_call('searchteams', [team_name])
|
96
|
+
end
|
97
|
+
|
14
98
|
def test_session
|
15
|
-
api_call('testsession'
|
99
|
+
api_call('testsession')
|
16
100
|
end
|
17
101
|
|
18
|
-
|
19
|
-
|
20
|
-
api_call('getdataused', [])
|
102
|
+
def data_used
|
103
|
+
api_call('getdataused')
|
21
104
|
end
|
22
105
|
|
23
|
-
# /createsessionjson/{developerId}/{signature}/{timestamp}
|
24
106
|
def create_session
|
25
107
|
return @session_id if valid_session?
|
26
108
|
|
@@ -28,17 +110,17 @@ module Smite
|
|
28
110
|
@session_id = response['session_id']
|
29
111
|
end
|
30
112
|
|
31
|
-
def api_call(method, params = [], session = true)
|
32
|
-
request = request_str(method, params, session)
|
33
|
-
self.class.get(request)
|
34
|
-
end
|
35
|
-
|
36
113
|
def valid_session?
|
37
114
|
!!(test_session =~ /successful/i)
|
38
115
|
end
|
39
116
|
|
40
117
|
private
|
41
118
|
|
119
|
+
def api_call(method, params = [], session = true)
|
120
|
+
request = request_str(method, params, session)
|
121
|
+
self.class.get(request)
|
122
|
+
end
|
123
|
+
|
42
124
|
def signature(method)
|
43
125
|
Digest::MD5.hexdigest("#{dev_id}#{method}#{auth_key}#{timestamp}")
|
44
126
|
end
|
data/lib/smite/data_transform.rb
CHANGED
@@ -6,7 +6,7 @@ module Smite
|
|
6
6
|
item_fields = data.slice(*item_map_fields)
|
7
7
|
return data if item_fields.empty?
|
8
8
|
|
9
|
-
data['items'] = item_fields.values.map { |id| Smite::Game.item(id
|
9
|
+
data['items'] = item_fields.values.map { |id| Smite::Game.item(id) }
|
10
10
|
data.except(*item_filter_fields)
|
11
11
|
end
|
12
12
|
|
@@ -14,7 +14,7 @@ module Smite
|
|
14
14
|
god_fields = data.slice(*god_map_fields)
|
15
15
|
return data if god_fields.empty?
|
16
16
|
|
17
|
-
data['god'] = god_fields.values.map { |id| Smite::Game.god(id
|
17
|
+
data['god'] = god_fields.values.map { |id| Smite::Game.god(id) }[0]
|
18
18
|
data.except(*god_filter_fields)
|
19
19
|
end
|
20
20
|
|
@@ -32,13 +32,13 @@ module Smite
|
|
32
32
|
data.except(*ability_filter_fields)
|
33
33
|
end
|
34
34
|
|
35
|
-
def
|
36
|
-
return data unless data['
|
35
|
+
def transform_recent_match(data)
|
36
|
+
return data unless data['queue']
|
37
37
|
|
38
|
-
if data['
|
38
|
+
if data['queue'] =~ /League/
|
39
39
|
data
|
40
40
|
else
|
41
|
-
data.except(*
|
41
|
+
data.except(*recent_match_filter_fields)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
@@ -98,7 +98,7 @@ module Smite
|
|
98
98
|
)
|
99
99
|
end
|
100
100
|
|
101
|
-
def
|
101
|
+
def recent_match_filter_fields
|
102
102
|
%w(
|
103
103
|
ban1 ban2 ban3 ban4 ban5 ban6
|
104
104
|
ban1_id ban2_id ban3_id
|
@@ -129,7 +129,7 @@ module Smite
|
|
129
129
|
end
|
130
130
|
|
131
131
|
def god_filter_fields
|
132
|
-
god_map_fields
|
132
|
+
god_map_fields
|
133
133
|
end
|
134
134
|
end
|
135
135
|
end
|
data/lib/smite/game.rb
CHANGED
@@ -1,39 +1,67 @@
|
|
1
1
|
module Smite
|
2
2
|
class Game
|
3
3
|
class << self
|
4
|
-
attr_reader :client
|
4
|
+
attr_reader :client
|
5
5
|
|
6
|
-
def authenticate!(dev_id, auth_key,
|
7
|
-
@client
|
8
|
-
|
9
|
-
!client.session_id.empty?
|
6
|
+
def authenticate!(dev_id, auth_key, format = 'json', lang = 1)
|
7
|
+
@client = Smite::Client.new(dev_id, auth_key, lang)
|
8
|
+
!client.session_id.nil?
|
10
9
|
end
|
11
10
|
|
12
11
|
def device(name_or_id)
|
13
|
-
|
12
|
+
idx = device_hash[name_or_id.to_s.downcase]
|
13
|
+
idx.nil? ? nil : devices[idx]
|
14
14
|
end
|
15
15
|
alias_method :item, :device
|
16
16
|
alias_method :consumable, :device
|
17
17
|
alias_method :active, :device
|
18
18
|
|
19
19
|
def god(name_or_id)
|
20
|
-
|
20
|
+
idx = god_hash[name_or_id.to_s.downcase]
|
21
|
+
idx.nil? ? nil : gods[idx]
|
21
22
|
end
|
22
23
|
|
23
24
|
def match(match_id)
|
24
|
-
|
25
|
+
@matches ||= {}
|
26
|
+
@matches[match_id] ||= Match.new(client.match_details(match_id))
|
25
27
|
end
|
26
28
|
|
27
29
|
def player(player_name)
|
28
|
-
Player.new(
|
30
|
+
Player.new(player_name)
|
31
|
+
end
|
32
|
+
|
33
|
+
def motd_now
|
34
|
+
motd_list[0]
|
35
|
+
end
|
36
|
+
|
37
|
+
def motd_list
|
38
|
+
@motds ||= client.motd.map(&MOTD.method(:new))
|
39
|
+
end
|
40
|
+
|
41
|
+
def queues
|
42
|
+
@queues ||= Smite::Queue::QUEUES.map(&Queue.method(:new))
|
43
|
+
end
|
44
|
+
|
45
|
+
def god_recommended_items(name_or_id)
|
46
|
+
god = god(name_or_id)
|
47
|
+
@rec_items ||= {}
|
48
|
+
return @rec_items[god.id] unless @rec_items[god.id].nil?
|
49
|
+
|
50
|
+
@rec_items[god.id] = []
|
51
|
+
recommended = client.god_recommended_items(god.id)
|
52
|
+
recommended.group_by { |r| r['Role'] }.each do |role, items|
|
53
|
+
@rec_items[god.id] << Smite::RecommendedItems.new(god.name, items, role)
|
54
|
+
end
|
55
|
+
|
56
|
+
@rec_items[god.id]
|
29
57
|
end
|
30
58
|
|
31
59
|
def gods
|
32
|
-
@gods ||=
|
60
|
+
@gods ||= client.gods.map(&God.method(:new))
|
33
61
|
end
|
34
62
|
|
35
63
|
def devices
|
36
|
-
@devices ||=
|
64
|
+
@devices ||= client.items.map(&Item.method(:new))
|
37
65
|
end
|
38
66
|
|
39
67
|
def items
|
@@ -52,32 +80,17 @@ module Smite
|
|
52
80
|
|
53
81
|
def device_hash
|
54
82
|
@device_hash ||= (0...devices.count).each_with_object({}) do |idx, hash|
|
55
|
-
hash[devices[idx].item_id]
|
56
|
-
hash[devices[idx].device_name] = idx
|
83
|
+
hash[devices[idx].item_id.to_s] = idx
|
84
|
+
hash[devices[idx].device_name.downcase] = idx
|
57
85
|
end
|
58
86
|
end
|
59
87
|
|
60
88
|
def god_hash
|
61
89
|
@god_hash ||= (0...gods.count).each_with_object({}) do |idx, hash|
|
62
|
-
hash[gods[idx].id]
|
63
|
-
hash[gods[idx].name] = idx
|
90
|
+
hash[gods[idx].id.to_s] = idx
|
91
|
+
hash[gods[idx].name.downcase] = idx
|
64
92
|
end
|
65
93
|
end
|
66
|
-
|
67
|
-
# /getmatchdetails[ResponseFormat]/{developerId}/{signature}/{session}/{timestamp}/{match_id}
|
68
|
-
def match_details(match_id)
|
69
|
-
client.api_call('getmatchdetails', [match_id])
|
70
|
-
end
|
71
|
-
|
72
|
-
# /getgodsjson/{developerId}/{signature}/{session}/{timestamp}/{languageCode}
|
73
|
-
def get_gods
|
74
|
-
client.api_call('getgods', [lang_code])
|
75
|
-
end
|
76
|
-
|
77
|
-
# /getitemsjson/{developerId}/{signature}/{session}/{timestamp}/{languagecode}
|
78
|
-
def get_items
|
79
|
-
client.api_call('getitems', [lang_code])
|
80
|
-
end
|
81
94
|
end
|
82
95
|
end
|
83
96
|
end
|