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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55f3fbd927e0f135b225ed741cfdce5d1979f68f
4
- data.tar.gz: c3be5843b183b33459cd7df349c4f1aaf2996ef3
3
+ metadata.gz: 7f71093bb488e3658335bb326a51db18b54e1d83
4
+ data.tar.gz: 80784b97d43574abad36ad6baf9ecc9a4630886d
5
5
  SHA512:
6
- metadata.gz: a6a9d4654fc50dc1039d96691ead492294a88e8b58108f6610ef47f0fd5a3e456bda40f8302d0e9534eecb2099123697a60f238c0e2ddcb447f701632eec96fe
7
- data.tar.gz: 3df2e31dfc34bf98b52e31b5b7ff47a77a8b88b86aab0298637f1c1d921f7dc744ee004e4b7ba0d59070e073a95bb99db77e0a152ee0c103b337c311bbf862ef
6
+ metadata.gz: 1b2b2ca774f1a1678d0efde8e8d312bb67b36e83ba4f0f9f43f06bc313e4f5824c0ba1e08d7a60d73775f9a59978bd6ad6d359f523940778c151c06f37578e2e
7
+ data.tar.gz: a6b801bb5a259407cf7efc29b3779fb0d39e2cda083a334d7ff444a161b5e3d852bd7ef7b0eea6c3179177e5896e47346c35218cbf667b4bde731d9a7cefb788
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby_gg (0.1.1)
4
+ ruby_gg (0.1.2)
5
5
  httparty (~> 0.16.1)
6
6
 
7
7
  GEM
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
- # Where api_key is your league api key and region is the region your summoner is located at (Defaults to na if not provided).
28
- client = RubyGg::Client.new(api_key, region)
29
-
30
- Get SummonerID of top 5 challenger players of the declared region:
31
- topFiveChallenger = client.challenger.solo_chanllengers
32
-
33
- Get SummonerInfo(IGN, TIER, RANK, LP, WINS, LOSS, ICON, LEVEL)
34
- # Where ID can be passed as integer or string.
35
- summonerInfo = client.summoner.get_profile(id)
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.
@@ -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}1.api.riotgames.com"
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 solo_challengers #returns ID of top 5 solo/duo challenger players of the region.
16
- queue = 'RANKED_SOLO_5x5'
17
- final_url = "#{@base_url}#{@challenger_url}#{queue}?api_key=#{@api_key}"
18
- payload = HTTParty.get(final_url)
19
- challengers = payload['entries']
20
- challengers.sort!{|x, y| y['leaguePoints'] <=> x['leaguePoints']}
21
- id = []
22
- (0...5).each{|n| id.push(challengers[n]['playerOrTeamId'])}
23
- return id
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
@@ -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
- @region = region
12
- @base_url = "https://#{@region}1.api.riotgames.com"
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
@@ -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}1.api.riotgames.com"
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[:ign] = rank_payload[@idx]['playerOrTeamName']
26
- summoner_info[:tier]= rank_payload[@idx]['tier']
27
- summoner_info[:rank]= rank_payload[@idx]['rank']
28
- summoner_info[:lp] = rank_payload[@idx]['leaguePoints']
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
@@ -1,3 +1,3 @@
1
1
  module RubyGg
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
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.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-21 00:00:00.000000000 Z
11
+ date: 2018-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler