ruby_gg 0.1.1 → 0.1.2
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 +1 -1
- data/README.md +20 -10
- data/lib/ruby_gg/challenger.rb +19 -12
- data/lib/ruby_gg/client.rb +16 -4
- data/lib/ruby_gg/summoner.rb +48 -15
- data/lib/ruby_gg/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f71093bb488e3658335bb326a51db18b54e1d83
|
4
|
+
data.tar.gz: 80784b97d43574abad36ad6baf9ecc9a4630886d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b2b2ca774f1a1678d0efde8e8d312bb67b36e83ba4f0f9f43f06bc313e4f5824c0ba1e08d7a60d73775f9a59978bd6ad6d359f523940778c151c06f37578e2e
|
7
|
+
data.tar.gz: a6b801bb5a259407cf7efc29b3779fb0d39e2cda083a334d7ff444a161b5e3d852bd7ef7b0eea6c3179177e5896e47346c35218cbf667b4bde731d9a7cefb788
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -24,16 +24,26 @@ Or install it yourself as:
|
|
24
24
|
## Usage
|
25
25
|
|
26
26
|
Create new instace of the Client:
|
27
|
-
|
28
|
-
client = RubyGg::Client.new(api_key, region)
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
27
|
+
```ruby
|
28
|
+
client = RubyGg::Client.new(api_key, region)
|
29
|
+
# api_key is your league_api_key and region is the region you want.
|
30
|
+
```
|
31
|
+
Get list of challenger players
|
32
|
+
By default paramater passed in is zero (which returns back all 200 challengers).
|
33
|
+
However you can pass in interger or string of an integer to get set number of results (1-200 or it'll return all 200).
|
34
|
+
```ruby
|
35
|
+
client.challenger.solo_queue(100) # This returns 100 challenger players.
|
36
|
+
client.challenger.solo_queue('100') # This does same thing.
|
37
|
+
client.challenger.solo_queue # This returns all 200.
|
38
|
+
client.challenger.solo_queue(iamidiot) # This will still return all 200.
|
39
|
+
```
|
40
|
+
Gets summoner information (for data types check league api documentation). returnType is hashValue.
|
41
|
+
returnType = {:user => {userDto}, :solo => {soloDto}, :flex => {flexDto}, :tt => {ttDto}}
|
42
|
+
```ruby
|
43
|
+
client.summoner.get_user(id) #Where id can be int or str.
|
44
|
+
You can check for id from client.challenger.solo_queue()[0][:playerOrTeamId] # Gives the id for first challenger player in the list returned.
|
45
|
+
```
|
46
|
+
|
37
47
|
## Development
|
38
48
|
|
39
49
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/ruby_gg/challenger.rb
CHANGED
@@ -5,24 +5,31 @@ module RubyGg
|
|
5
5
|
class Challenger
|
6
6
|
attr_reader :challenger_url
|
7
7
|
|
8
|
-
def initialize(api_key, region)
|
8
|
+
def initialize(api_key, region) #Initializing the Challenger Instance.
|
9
9
|
@api_key = api_key
|
10
10
|
@region = region
|
11
|
-
@base_url = "https://#{@region}
|
11
|
+
@base_url = "https://#{@region}.api.riotgames.com"
|
12
12
|
@challenger_url = "/lol/league/v3/challengerleagues/by-queue/"
|
13
13
|
end
|
14
14
|
|
15
|
-
def
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
15
|
+
def solo_queue (size = 0) # Not passing an argument / passing string (unless string is number)/ 0 => returns all 200 results.
|
16
|
+
if size.to_i == 0 || size.to_i >200
|
17
|
+
size = paycheck.size
|
18
|
+
else
|
19
|
+
size = size.to_i
|
20
|
+
end
|
21
|
+
paycheck = (HTTParty.get("#{@base_url}#{@challenger_url}RANKED_SOLO_5x5?api_key=#{@api_key}").parsed_response)['entries']
|
22
|
+
payload = []
|
23
|
+
paycheck.sort!{|x, y| y['leaguePoints'] <=> x['leaguePoints']}
|
24
|
+
(0...size).each {|x| payload.push(player_dto(paycheck[x]))}
|
25
|
+
return payload
|
24
26
|
end
|
25
27
|
|
26
|
-
|
28
|
+
private
|
29
|
+
def player_dto(player)
|
30
|
+
dto = {}
|
31
|
+
player.each{|k,v| dto[k.to_sym] = v }
|
32
|
+
return dto
|
33
|
+
end
|
27
34
|
end
|
28
35
|
end
|
data/lib/ruby_gg/client.rb
CHANGED
@@ -8,16 +8,28 @@ module RubyGg
|
|
8
8
|
attr_reader :base_url
|
9
9
|
def initialize(api_key, region = 'na')
|
10
10
|
@api_key = api_key
|
11
|
-
|
12
|
-
|
11
|
+
region_tag = { :na => 'na1',
|
12
|
+
:eune => 'eun1',
|
13
|
+
:euw => 'euw1',
|
14
|
+
:jp => 'jp1',
|
15
|
+
:kr => 'kr',
|
16
|
+
:lan => 'la1',
|
17
|
+
:las => 'la2',
|
18
|
+
:br => 'br1',
|
19
|
+
:oce => 'oc1',
|
20
|
+
:tr => 'tr1',
|
21
|
+
:ru => 'ru',
|
22
|
+
:pbe => 'pbe1' }
|
23
|
+
@region = region_tag[region.to_sym]
|
24
|
+
@base_url = "https://#{@region}.api.riotgames.com"
|
13
25
|
end
|
14
26
|
|
15
27
|
def challenger
|
16
|
-
@challenger = Challenger.new(api_key, region)
|
28
|
+
@challenger = Challenger.new(@api_key, @region)
|
17
29
|
end
|
18
30
|
|
19
31
|
def summoner
|
20
|
-
@summoner = Summoner.new(api_key, region)
|
32
|
+
@summoner = Summoner.new(@api_key, @region)
|
21
33
|
end
|
22
34
|
|
23
35
|
end
|
data/lib/ruby_gg/summoner.rb
CHANGED
@@ -9,30 +9,63 @@ module RubyGg
|
|
9
9
|
def initialize(api_key, region)
|
10
10
|
@api_key = api_key
|
11
11
|
@region = region
|
12
|
-
@base_url = "https://#{@region}
|
12
|
+
@base_url = "https://#{@region}.api.riotgames.com"
|
13
13
|
@rank_url = '/lol/league/v3/positions/by-summoner/'
|
14
14
|
@profile_url = '/lol/summoner/v3/summoners/'
|
15
15
|
end
|
16
16
|
|
17
17
|
def get_profile(id)
|
18
|
-
id.to_i
|
19
|
-
rank_url = "#{@base_url}#{@rank_url}#{id}?api_key=#{@api_key}"
|
20
|
-
profile_url = "#{@base_url}#{@profile_url}#{id}?api_key=#{@api_key}"
|
21
|
-
rank_payload = HTTParty.get(rank_url).parsed_response
|
22
|
-
rank_payload.each {|x| @idx = rank_payload.index(x) if x['queueType'].eql?'RANKED_SOLO_5x5'}
|
23
|
-
profile_payload = HTTParty.get(profile_url).parsed_response
|
24
18
|
summoner_info = {}
|
25
|
-
summoner_info[:
|
26
|
-
summoner_info[:
|
27
|
-
summoner_info[:
|
28
|
-
summoner_info[:
|
29
|
-
summoner_info[:wins] = rank_payload[@idx]['wins']
|
30
|
-
summoner_info[:loss] = rank_payload[@idx]['losses']
|
31
|
-
summoner_info[:icon] = profile_payload['profileIconId']
|
32
|
-
summoner_info[:level] = profile_payload['summonerLevel']
|
19
|
+
summoner_info[:user] = get_user(id)
|
20
|
+
summoner_info[:solo] = get_solo(id)
|
21
|
+
summoner_info[:flex] = get_flex(id)
|
22
|
+
summoner_info[:tt] = get_tt(id)
|
33
23
|
return summoner_info
|
34
24
|
end
|
35
25
|
|
26
|
+
private
|
27
|
+
def get_user(id)
|
28
|
+
user_payload = HTTParty.get("#{@base_url}#{@profile_url}#{id.to_i}?api_key=#{@api_key}").parsed_response
|
29
|
+
user = {}
|
30
|
+
user_payload.each{|k,v| user[k.to_sym] = v}
|
31
|
+
return user
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
def get_solo(id)
|
36
|
+
rank_payload = HTTParty.get("#{@base_url}#{@rank_url}#{id.to_i}?api_key=#{@api_key}").parsed_response
|
37
|
+
solo = {}
|
38
|
+
@solo = nil
|
39
|
+
rank_payload.each{|x| @solo = rank_payload.index(x) if x['queueType'].eql?'RANKED_SOLO_5x5'}
|
40
|
+
if not @solo.nil?
|
41
|
+
(rank_payload[@solo]).each {|k,v| solo[k.to_sym] = v if not "queueType".eql?k or "playerOrTeamName".eql?k or "playerOrTeamId".eql?k}
|
42
|
+
end
|
43
|
+
return solo
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
def get_flex(id)
|
48
|
+
rank_payload = HTTParty.get("#{@base_url}#{@rank_url}#{id.to_i}?api_key=#{@api_key}").parsed_response
|
49
|
+
flex = {}
|
50
|
+
@flex = nil
|
51
|
+
rank_payload.each{|x| @solo = rank_payload.index(x) if x['queueType'].eql?'RANKED_FLEX_SR'}
|
52
|
+
if not @flex.nil?
|
53
|
+
(rank_payload[@flex]).each {|k,v| flex[k.to_sym] = v if not "queueType".eql?k or "playerOrTeamName".eql?k or "playerOrTeamId".eql?k}
|
54
|
+
end
|
55
|
+
return flex
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
def get_tt(id)
|
60
|
+
rank_payload = HTTParty.get("#{@base_url}#{@rank_url}#{id.to_i}?api_key=#{@api_key}").parsed_response
|
61
|
+
tt = {}
|
62
|
+
@tt = nil
|
63
|
+
rank_payload.each{|x| @tt = rank_payload.index(x) if x['queueType'].eql?'RANKED_TT_SR'}
|
64
|
+
if not @tt.nil?
|
65
|
+
(rank_payload[@tt]).each {|k,v| tt[k.to_sym] = v if not "queueType".eql?k or "playerOrTeamName".eql?k or "playerOrTeamId".eql?k}
|
66
|
+
end
|
67
|
+
return tt
|
68
|
+
end
|
36
69
|
|
37
70
|
end
|
38
71
|
end
|
data/lib/ruby_gg/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_gg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Manish Shahi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|