sightstone 1.3.2 → 1.4.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.
- checksums.yaml +4 -4
- data/lib/sightstone/modules/league_module.rb +1 -1
- data/lib/sightstone/modules/summoner_module.rb +103 -9
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84d86f5fd72e4ffcd5a1fdf94aea1e5c3cf1f764
|
4
|
+
data.tar.gz: b2aa1702e5bb4d81ecda406ba8bdf88e0cdb229c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7fdf5ea80f0c54764de08d60dda91d5aca0df64f85b4620ac17c708522a817b42546657cc7b75f3635ac05acfa6d7b0d210bcc0d3e6b7d261303f440f146ab1
|
7
|
+
data.tar.gz: 5897481a88a73958d024586e3060f20688d45922b79bf11798e8c0a0e8e19655b6a12644867339772012f4e4f7d60c4bbc7148ff12b9e5636c6274877658468b
|
@@ -13,7 +13,7 @@ class LeagueModule < SightstoneBaseModule
|
|
13
13
|
# @param [Summoner, Integer] summoner
|
14
14
|
# @param optional [Hash] optional arguments: :region => replaces default region
|
15
15
|
# @return [Array<League>] an array of all leagues the summoner and his teams are in
|
16
|
-
def
|
16
|
+
def leagues(summoner, optional={})
|
17
17
|
region = optional[:region] || @sightstone.region
|
18
18
|
id = if summoner.is_a? Summoner
|
19
19
|
summoner.id
|
@@ -19,15 +19,15 @@ class SummonerModule < SightstoneBaseModule
|
|
19
19
|
def summoner(name_or_id, optional={})
|
20
20
|
region = optional[:region] || @sightstone.region
|
21
21
|
uri = if name_or_id.is_a? Integer
|
22
|
-
"https://prod.api.pvp.net/api/lol/#{region}/v1.
|
22
|
+
"https://prod.api.pvp.net/api/lol/#{region}/v1.3/summoner/#{name_or_id}"
|
23
23
|
else
|
24
|
-
"https://prod.api.pvp.net/api/lol/#{region}/v1.
|
24
|
+
"https://prod.api.pvp.net/api/lol/#{region}/v1.3/summoner/by-name/#{URI::encode(name_or_id)}"
|
25
25
|
end
|
26
26
|
|
27
27
|
response = _get_api_response(uri)
|
28
28
|
_parse_response(response) { |resp|
|
29
29
|
data = JSON.parse(resp)
|
30
|
-
s = Summoner.new(data)
|
30
|
+
s = Summoner.new(data.values[0])
|
31
31
|
if block_given?
|
32
32
|
yield s
|
33
33
|
else
|
@@ -36,6 +36,38 @@ class SummonerModule < SightstoneBaseModule
|
|
36
36
|
}
|
37
37
|
end
|
38
38
|
|
39
|
+
# returns an array of summoner objects
|
40
|
+
# @param names_or_ids [Array<Integer, String>] names or ids of summoners
|
41
|
+
# @param optional [Hash] optional arguments: :region => replaces default region
|
42
|
+
# @return [Hash<(String or Integer), Summoner>] A Hash mapping summoner ids or names to summoner objects
|
43
|
+
def summoners(names_or_ids, optional={})
|
44
|
+
return {} if names_or_ids.empty?
|
45
|
+
|
46
|
+
region = optional[:region] || @sightstone.region
|
47
|
+
|
48
|
+
uri = if !names_or_ids[0].is_a? String
|
49
|
+
"https://prod.api.pvp.net/api/lol/#{region}/v1.3/summoner/#{names_or_ids.join(',')}"
|
50
|
+
else
|
51
|
+
"https://prod.api.pvp.net/api/lol/#{region}/v1.3/summoner/by-name/#{URI::encode(names_or_ids.join(','))}"
|
52
|
+
end
|
53
|
+
|
54
|
+
response = _get_api_response(uri)
|
55
|
+
_parse_response(response) { |resp|
|
56
|
+
data = JSON.parse(resp)
|
57
|
+
summoners = {}
|
58
|
+
data.each do |id_or_name, raw_summoner|
|
59
|
+
summoners[id_or_name] = Summoner.new(raw_summoner)
|
60
|
+
end
|
61
|
+
|
62
|
+
if block_given?
|
63
|
+
yield summoners
|
64
|
+
else
|
65
|
+
return summoners
|
66
|
+
end
|
67
|
+
}
|
68
|
+
end
|
69
|
+
|
70
|
+
|
39
71
|
# returns the names for the ids
|
40
72
|
# @param ids [Array<Numeric>] ids
|
41
73
|
# @param optional [Hash<Symbol, String>] optional arguments: :region => replaces default region
|
@@ -64,18 +96,18 @@ class SummonerModule < SightstoneBaseModule
|
|
64
96
|
# @param summoner [Summoner, id] summoner object or id of a summoner
|
65
97
|
# @param optional [Hash<Symbol, String>] optional arguments: :region => replaces default region
|
66
98
|
# @return [Runebook] runebook of the summoner
|
67
|
-
def
|
99
|
+
def runebook(summoner, optional={})
|
68
100
|
region = optional[:region] || @sightstone.region
|
69
101
|
id = if summoner.is_a? Summoner
|
70
102
|
summoner.id
|
71
103
|
else
|
72
104
|
summoner
|
73
105
|
end
|
74
|
-
uri = "http://prod.api.pvp.net/api/lol/#{region}/v1.
|
106
|
+
uri = "http://prod.api.pvp.net/api/lol/#{region}/v1.3/summoner/#{id}/runes"
|
75
107
|
response = _get_api_response(uri)
|
76
108
|
_parse_response(response) { |resp|
|
77
109
|
data = JSON.parse(resp)
|
78
|
-
book = RuneBook.new(data)
|
110
|
+
book = RuneBook.new(data.values[0])
|
79
111
|
if block_given?
|
80
112
|
yield book
|
81
113
|
else
|
@@ -84,22 +116,53 @@ class SummonerModule < SightstoneBaseModule
|
|
84
116
|
}
|
85
117
|
end
|
86
118
|
|
119
|
+
# returns the runebook for multiple summoners
|
120
|
+
# @param summoners [Array<(Summoner, Integer)>] list of summoner objects or ids of summoners
|
121
|
+
# @param optional [Hash<Symbol, String>] optional arguments: :region => replaces default region
|
122
|
+
# @return [Hash<Integer, Runebook>] A hash mapping runebooks to the ids of summoners
|
123
|
+
def runebooks(summoners, optional={})
|
124
|
+
return {} if summoners.empty?
|
125
|
+
|
126
|
+
region = optional[:region] || @sightstone.region
|
127
|
+
ids = summoners.collect { |summoner|
|
128
|
+
if summoner.is_a? Summoner
|
129
|
+
summoner.id
|
130
|
+
else
|
131
|
+
summoner
|
132
|
+
end
|
133
|
+
}
|
134
|
+
uri = "http://prod.api.pvp.net/api/lol/#{region}/v1.3/summoner/#{ids.join(',')}/runes"
|
135
|
+
response = _get_api_response(uri)
|
136
|
+
_parse_response(response) { |resp|
|
137
|
+
data = JSON.parse(resp)
|
138
|
+
books = {}
|
139
|
+
data.each do |key, raw_book|
|
140
|
+
books[key] = RuneBook.new(raw_book)
|
141
|
+
end
|
142
|
+
if block_given?
|
143
|
+
yield books
|
144
|
+
else
|
145
|
+
return books
|
146
|
+
end
|
147
|
+
}
|
148
|
+
end
|
149
|
+
|
87
150
|
# returns the masterybook of a summoner
|
88
151
|
# @param summoner [Summoner, id] summoner object or id of a summoner
|
89
152
|
# @param optional [Hash<Symbol, String>] optional arguments: :region => replaces default region
|
90
153
|
# @return [Masterybook] masterybook of the summoner
|
91
|
-
def
|
154
|
+
def masterybook(summoner, optional={})
|
92
155
|
region = optional[:region] || @sightstone.region
|
93
156
|
id = if summoner.is_a? Summoner
|
94
157
|
summoner.id
|
95
158
|
else
|
96
159
|
summoner
|
97
160
|
end
|
98
|
-
uri = "http://prod.api.pvp.net/api/lol/#{region}/v1.
|
161
|
+
uri = "http://prod.api.pvp.net/api/lol/#{region}/v1.3/summoner/#{id}/masteries"
|
99
162
|
response = _get_api_response(uri)
|
100
163
|
_parse_response(response) { |resp|
|
101
164
|
data = JSON.parse(resp)
|
102
|
-
book = MasteryBook.new(data)
|
165
|
+
book = MasteryBook.new(data.values[0])
|
103
166
|
if block_given?
|
104
167
|
yield book
|
105
168
|
else
|
@@ -107,5 +170,36 @@ class SummonerModule < SightstoneBaseModule
|
|
107
170
|
end
|
108
171
|
}
|
109
172
|
end
|
173
|
+
|
174
|
+
# returns the masterybooks for multiple summoners
|
175
|
+
# @param summoners [Array<(Summoner, Integer)>] list of summoner objects or ids of summoners
|
176
|
+
# @param optional [Hash<Symbol, String>] optional arguments: :region => replaces default region
|
177
|
+
# @return [Hash<Integer, Masterybook>] A hash mapping masterybooks to the ids of summoners
|
178
|
+
def masterybooks(summoners, optional={})
|
179
|
+
return {} if summoners.empty?
|
180
|
+
region = optional[:region] || @sightstone.region
|
181
|
+
ids = summoners.collect { |summoner|
|
182
|
+
if summoner.is_a? Summoner
|
183
|
+
summoner.id
|
184
|
+
else
|
185
|
+
summoner
|
186
|
+
end
|
187
|
+
}
|
188
|
+
|
189
|
+
uri = "http://prod.api.pvp.net/api/lol/#{region}/v1.3/summoner/#{ids.join(',')}/masteries"
|
190
|
+
response = _get_api_response(uri)
|
191
|
+
_parse_response(response) { |resp|
|
192
|
+
data = JSON.parse(resp)
|
193
|
+
books = {}
|
194
|
+
data.each do |key, raw_book|
|
195
|
+
books[key] = MasteryBook.new(raw_book)
|
196
|
+
end
|
197
|
+
if block_given?
|
198
|
+
yield books
|
199
|
+
else
|
200
|
+
return books
|
201
|
+
end
|
202
|
+
}
|
203
|
+
end
|
110
204
|
end
|
111
205
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sightstone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -30,7 +30,6 @@ executables: []
|
|
30
30
|
extensions: []
|
31
31
|
extra_rdoc_files: []
|
32
32
|
files:
|
33
|
-
- lib/sightstone.rb
|
34
33
|
- lib/sightstone/champion.rb
|
35
34
|
- lib/sightstone/league.rb
|
36
35
|
- lib/sightstone/masterybook.rb
|
@@ -48,6 +47,7 @@ files:
|
|
48
47
|
- lib/sightstone/runebook.rb
|
49
48
|
- lib/sightstone/summoner.rb
|
50
49
|
- lib/sightstone/team.rb
|
50
|
+
- lib/sightstone.rb
|
51
51
|
homepage: https://github.com/danijoo/Sightstone
|
52
52
|
licenses:
|
53
53
|
- MIT
|
@@ -68,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
68
|
version: '0'
|
69
69
|
requirements: []
|
70
70
|
rubyforge_project:
|
71
|
-
rubygems_version: 2.
|
71
|
+
rubygems_version: 2.1.10
|
72
72
|
signing_key:
|
73
73
|
specification_version: 4
|
74
74
|
summary: Ruby wrapper for riots league of legends api
|