lolxin 0.12.1 → 0.13.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 (57) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/LICENSE.txt +1 -1
  4. data/README.md +34 -3
  5. data/Rakefile +1 -1
  6. data/bin/bundle +105 -0
  7. data/bin/byebug +29 -0
  8. data/bin/cc-tddium-post-worker +12 -0
  9. data/bin/codeclimate-test-reporter +12 -0
  10. data/bin/coderay +12 -0
  11. data/bin/console +1 -1
  12. data/bin/dotenv +12 -0
  13. data/bin/htmldiff +12 -0
  14. data/bin/ldiff +12 -0
  15. data/bin/pry +12 -0
  16. data/bin/rake +12 -0
  17. data/bin/rspec +12 -0
  18. data/lib/lolxin.rb +29 -18
  19. data/lib/lolxin/api/champion.rb +24 -0
  20. data/lib/lolxin/api/champion_mastery.rb +38 -0
  21. data/lib/lolxin/api/league.rb +39 -0
  22. data/lib/lolxin/api/lol_static_data.rb +116 -0
  23. data/lib/lolxin/api/lol_status.rb +7 -0
  24. data/lib/lolxin/api/match.rb +41 -0
  25. data/lib/lolxin/api/spectator.rb +180 -0
  26. data/lib/lolxin/api/summoner.rb +25 -0
  27. data/lib/lolxin/api/third_party_code.rb +15 -0
  28. data/lib/lolxin/client.rb +26 -78
  29. data/lib/lolxin/dto/champion_dto.rb +29 -0
  30. data/lib/lolxin/dto/champion_mastery_dto.rb +33 -0
  31. data/lib/lolxin/dto/dto.rb +10 -0
  32. data/lib/lolxin/dto/game_info_dto.rb +31 -0
  33. data/lib/lolxin/dto/league_item_dto.rb +38 -0
  34. data/lib/lolxin/dto/league_list_dto.rb +27 -0
  35. data/lib/lolxin/dto/league_position_dto.rb +45 -0
  36. data/lib/lolxin/dto/mini_series_dto.rb +27 -0
  37. data/lib/lolxin/helpers/api.rb +20 -0
  38. data/lib/lolxin/helpers/api_version.rb +15 -0
  39. data/lib/lolxin/helpers/region.rb +21 -0
  40. data/lib/lolxin/helpers/version.rb +3 -0
  41. data/lolxin.gemspec +5 -2
  42. metadata +72 -22
  43. data/lib/lolxin/api_version.rb +0 -16
  44. data/lib/lolxin/champion.rb +0 -25
  45. data/lib/lolxin/champion_mastery.rb +0 -69
  46. data/lib/lolxin/current_game.rb +0 -44
  47. data/lib/lolxin/featured_games.rb +0 -23
  48. data/lib/lolxin/game.rb +0 -25
  49. data/lib/lolxin/league.rb +0 -58
  50. data/lib/lolxin/lol_static_data.rb +0 -41
  51. data/lib/lolxin/lol_status.rb +0 -21
  52. data/lib/lolxin/match.rb +0 -25
  53. data/lib/lolxin/match_list.rb +0 -40
  54. data/lib/lolxin/region.rb +0 -22
  55. data/lib/lolxin/stats.rb +0 -30
  56. data/lib/lolxin/summoner.rb +0 -55
  57. data/lib/lolxin/version.rb +0 -3
@@ -1,41 +0,0 @@
1
- module Lolxin
2
- class LolStaticData
3
- BASE_ENDPOINT = "https://global.api.pvp.net/api/lol/static-data/%s/%s"
4
-
5
- ENDPOINTS = %w[
6
- champion
7
- item
8
- language-strings
9
- languages
10
- map
11
- mastery
12
- realm
13
- rune
14
- summoner-spell
15
- versions
16
- ]
17
-
18
- attr_accessor :conn
19
-
20
- def initialize(options = {})
21
- region = options[:region]
22
- version = options[:version]
23
- api_key = options[:api_key]
24
- endpoint = BASE_ENDPOINT % [region, version]
25
- @conn = Faraday.new(endpoint, options[:conn_options]) do |faraday|
26
- faraday.request(:url_encoded)
27
- faraday.response(:logger)
28
- faraday.adapter(Faraday.default_adapter)
29
- faraday.params[:api_key] = api_key
30
- end
31
- end
32
-
33
- ENDPOINTS.each do |ep|
34
- method_name = ep.tr('-', '_')
35
- define_method(method_name) do |params = {}, &block|
36
- id = params.delete(:id).to_s
37
- conn.get([ep, id].join('/'), params, &block)
38
- end
39
- end
40
- end
41
- end
@@ -1,21 +0,0 @@
1
- module Lolxin
2
- class LolStatus
3
- BASE_ENDPOINT = "http://status.leagueoflegends.com/shards"
4
-
5
- attr_accessor :conn
6
-
7
- def initialize(options = {})
8
- endpoint = BASE_ENDPOINT
9
- @conn = Faraday.new(endpoint, options[:conn_options]) do |faraday|
10
- faraday.request :url_encoded
11
- faraday.response :logger
12
- faraday.adapter Faraday.default_adapter
13
- end
14
- end
15
-
16
- def shards(params = {})
17
- shard = params.delete(:shard).to_s
18
- conn.get(shard, params)
19
- end
20
- end
21
- end
@@ -1,25 +0,0 @@
1
- module Lolxin
2
- class Match
3
- BASE_ENDPOINT = "https://%s.api.pvp.net/api/lol/%s/%s/match"
4
-
5
- attr_accessor :conn
6
-
7
- def initialize(options = {})
8
- region = options[:region]
9
- api_key = options[:api_key]
10
- version = options[:version]
11
- endpoint = BASE_ENDPOINT % [region, region, version]
12
- @conn = Faraday.new(endpoint, options[:conn_options]) do |faraday|
13
- faraday.request(:url_encoded)
14
- faraday.response(:logger)
15
- faraday.adapter(Faraday.default_adapter)
16
- faraday.params[:api_key] = api_key
17
- end
18
- end
19
-
20
- def match(params = {}, &block)
21
- match_id = params.delete(:matchId).to_s
22
- conn.get(match_id, params, &block)
23
- end
24
- end
25
- end
@@ -1,40 +0,0 @@
1
- module Lolxin
2
- class MatchList
3
- BASE_ENDPOINT = "https://%s.api.pvp.net/api/lol/%s/%s/matchlist/by-summoner"
4
- #"/21421970"
5
-
6
- attr_accessor :conn
7
-
8
- def initialize(options = {})
9
- region = options[:region]
10
- api_key = options[:api_key]
11
- version = options[:version]
12
- endpoint = BASE_ENDPOINT % [region, region, version]
13
- @conn = Faraday.new(endpoint, options[:conn_options]) do |faraday|
14
- faraday.request(:url_encoded)
15
- faraday.response(:logger)
16
- faraday.adapter(Faraday.default_adapter)
17
- faraday.params[:api_key] = api_key
18
- end
19
- end
20
-
21
- def by_summoner(params = {}, &block)
22
- summ_id = params.delete(:summonerId).to_s
23
-
24
- champ_ids = params.delete(:championIds)
25
- champ_ids = champ_ids.join(',') if champ_ids.is_a? Array
26
-
27
- ranked_queues = params.delete(:rankedQueues)
28
- ranked_queues = ranked_queues.map(&:upcase).join(',') if ranked_queues.is_a? Array
29
-
30
- seasons = params.delete(:seasons)
31
- seasons = seasons.map(&:upcase).join(',') if seasons.is_a? Array
32
-
33
- params[:championIds] = champ_ids
34
- params[:rankedQueues] = ranked_queues
35
- params[:seasons] = seasons
36
-
37
- conn.get(summ_id, params, &block)
38
- end
39
- end
40
- end
@@ -1,22 +0,0 @@
1
- module Lolxin
2
- module Region
3
- REGIONS = {
4
- br: 'br',
5
- eune: 'eune',
6
- euw: 'euw',
7
- jp: 'jp',
8
- kr: 'kr',
9
- lan: 'lan',
10
- las: 'las',
11
- na: 'na',
12
- oce: 'oce',
13
- pbe: 'pbe',
14
- ru: 'ru',
15
- tr: 'tr'
16
- }
17
-
18
- def self.valid?(region)
19
- REGIONS[region] || REGIONS.values.find { |r| r == region }
20
- end
21
- end
22
- end
@@ -1,30 +0,0 @@
1
- module Lolxin
2
- class Stats
3
- BASE_ENDPOINT = "https://%s.api.pvp.net/api/lol/%s/%s/stats/by-summoner"
4
-
5
- attr_accessor :conn
6
-
7
- def initialize(options = {})
8
- region = options[:region]
9
- api_key = options[:api_key]
10
- version = options[:version]
11
- endpoint = BASE_ENDPOINT % [region, region, version]
12
- @conn = Faraday.new(endpoint, options[:conn_options]) do |faraday|
13
- faraday.request(:url_encoded)
14
- faraday.response(:logger)
15
- faraday.adapter(Faraday.default_adapter)
16
- faraday.params[:api_key] = api_key
17
- end
18
- end
19
-
20
- def ranked(params = {}, &block)
21
- summ_id = params.delete(:summonerId)
22
- conn.get("#{summ_id}/ranked", params, &block)
23
- end
24
-
25
- def summary(params = {}, &block)
26
- summ_id = params.delete(:summonerId)
27
- conn.get("#{summ_id}/summary", params, &block)
28
- end
29
- end
30
- end
@@ -1,55 +0,0 @@
1
- module Lolxin
2
- class Summoner
3
- BASE_ENDPOINT = "https://%s.api.pvp.net/api/lol/%s/%s/summoner"
4
-
5
- attr_accessor :conn
6
-
7
- def initialize(options = {})
8
- region = options[:region]
9
- api_key = options[:api_key]
10
- version = options[:version]
11
- endpoint = BASE_ENDPOINT % [region, region, version]
12
- @conn = Faraday.new(endpoint, options[:conn_options]) do |faraday|
13
- faraday.request(:url_encoded)
14
- faraday.response(:logger)
15
- faraday.adapter(Faraday.default_adapter)
16
- faraday.params[:api_key] = api_key
17
- end
18
- end
19
-
20
- def by_name(params = {}, &block)
21
- summ_name = params.delete(:summonerNames)
22
- # Riot limits list to 40
23
- summ_name = summ_name[0...40].join(',') if summ_name.is_a? Array
24
- conn.get("by-name/#{summ_name}", params, &block)
25
- end
26
-
27
- def by_id(params = {}, &block)
28
- summ_id = params.delete(:summonerIds)
29
- # Riot limits list to 40
30
- summ_id = summ_id[0...40].join(',') if summ_id.is_a? Array
31
- conn.get("#{summ_id}", params, &block)
32
- end
33
-
34
- def masteries(params = {}, &block)
35
- summ_id = params.delete(:summonerIds)
36
- # Riot limits list to 40
37
- summ_id = summ_id[0...40].join(',') if summ_id.is_a? Array
38
- conn.get("#{summ_id}/masteries", params, &block)
39
- end
40
-
41
- def name(params = {}, &block)
42
- summ_id = params.delete(:summonerIds)
43
- # Riot limits list to 40
44
- summ_id = summ_id[0...40].join(',') if summ_id.is_a? Array
45
- conn.get("#{summ_id}/name", params, &block)
46
- end
47
-
48
- def runes(params = {}, &block)
49
- summ_id = params.delete(:summonerIds)
50
- # Riot limits list to 40
51
- summ_id = summ_id[0...40].join(',') if summ_id.is_a? Array
52
- conn.get("#{summ_id}/runes", params, &block)
53
- end
54
- end
55
- end
@@ -1,3 +0,0 @@
1
- module Lolxin
2
- VERSION = '0.12.1'
3
- end