taric 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/taric.rb +13 -13
- data/lib/taric/client.rb +6 -1
- data/lib/taric/operation/api.rb +2 -0
- data/lib/taric/operation/league.rb +16 -3
- data/lib/taric/operation/team.rb +2 -0
- data/lib/taric/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: af5a3fbf7f3ce947a8d074935d86c42bcec230a0
|
4
|
+
data.tar.gz: 123007565b2acd2dd52d31e41cb53e327242b840
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4b22562e2dbd547266f99e9512169b9641aec212d9da8815fb2ccc56464bbc032c251a8118cd07889f15f60027e30175b3948c9a952d52e972699b10e110700
|
7
|
+
data.tar.gz: fb14c6ebda12d959f448a4346d9b36757a0000efd9a3f8bdf44b2b19bd33fd66d21cc19de1dfce49d990f17875da07bb6223ffbf54e255345b12b480b7ccbe02
|
data/lib/taric.rb
CHANGED
@@ -7,32 +7,32 @@ require 'memoist'
|
|
7
7
|
|
8
8
|
module Taric
|
9
9
|
class << self
|
10
|
-
extend Memoist
|
11
10
|
attr_accessor :configuration
|
12
11
|
|
13
|
-
def client(region
|
14
|
-
Taric::Client.new(
|
12
|
+
def client(region: :na, config: @configuration ||= Taric::Configuration.new)
|
13
|
+
Taric::Client.new(api_key: config.api_key,
|
14
|
+
region: region,
|
15
|
+
requestor: config.requestor.(connection(config)),
|
16
|
+
response_handler: config.response_handler)
|
15
17
|
end
|
16
|
-
memoize :client
|
17
18
|
|
19
|
+
# Sets global configuration.
|
20
|
+
#
|
21
|
+
# @example
|
22
|
+
# Taric.configure! do |config|
|
23
|
+
# config.api_key = 'your_api_key'
|
24
|
+
# end
|
18
25
|
def configure!
|
19
26
|
reset!
|
20
27
|
yield(configuration)
|
21
28
|
end
|
22
29
|
|
30
|
+
# Resets global configuration.
|
31
|
+
#
|
23
32
|
def reset!
|
24
33
|
@configuration = Taric::Configuration.new
|
25
34
|
end
|
26
35
|
|
27
|
-
def method_missing(method, *args, &block)
|
28
|
-
return super unless client.respond_to?(method)
|
29
|
-
client.send(method, *args, &block)
|
30
|
-
end
|
31
|
-
|
32
|
-
def respond_to?(method, include_all=false)
|
33
|
-
client.respond_to?(method, include_all) || super
|
34
|
-
end
|
35
|
-
|
36
36
|
include Taric::Connection
|
37
37
|
end
|
38
38
|
|
data/lib/taric/client.rb
CHANGED
@@ -18,7 +18,12 @@ module Taric
|
|
18
18
|
pbe: {region: 'pbe'.freeze, platform_id: 'PBE1', host: 'pbe.api.pvp.net'}
|
19
19
|
}.freeze
|
20
20
|
|
21
|
-
|
21
|
+
# @param api_key [String] rito api key
|
22
|
+
# @param region [Symbol] region code
|
23
|
+
# @param requestor [Proc] lambda that will accept a url and return a [Faraday::Response]
|
24
|
+
# @param response_handler [Proc] lambda that accepts [Faraday::Response] and handles it
|
25
|
+
#
|
26
|
+
def initialize(api_key:, region:, requestor:, response_handler:)
|
22
27
|
@api_key = api_key
|
23
28
|
@region = region
|
24
29
|
@requestor = requestor
|
data/lib/taric/operation/api.rb
CHANGED
@@ -9,6 +9,7 @@ require_relative 'match'
|
|
9
9
|
require_relative 'match_history'
|
10
10
|
require_relative 'stats'
|
11
11
|
require_relative 'summoner'
|
12
|
+
require_relative 'team'
|
12
13
|
module Taric
|
13
14
|
module Operation
|
14
15
|
module API
|
@@ -23,6 +24,7 @@ module Taric
|
|
23
24
|
include Taric::Operation::MatchHistory
|
24
25
|
include Taric::Operation::Stats
|
25
26
|
include Taric::Operation::Summoner
|
27
|
+
include Taric::Operation::Team
|
26
28
|
|
27
29
|
# Template for requesting the url and processing the response.
|
28
30
|
#
|
@@ -9,28 +9,41 @@ module Taric
|
|
9
9
|
BASE_LEAGUE_URL = "#{BASE_URL_FN.(LEAGUE_VERSION)}/league"
|
10
10
|
|
11
11
|
LEAGUES_BY_SUMMONER_IDS = Addressable::Template.new "#{BASE_LEAGUE_URL}/by-summoner/{summonerIds}{?api_key}"
|
12
|
-
ENTRIES_BY_SUMMONER_IDS = Addressable::Template.new "#{
|
12
|
+
ENTRIES_BY_SUMMONER_IDS = Addressable::Template.new "#{BASE_LEAGUE_URL}/by-summoner/{summonerIds}/entry{?api_key}"
|
13
13
|
LEAGUES_BY_TEAM_IDS = Addressable::Template.new "#{BASE_LEAGUE_URL}/by-team/{teamIds}{?api_key}"
|
14
|
-
ENTRIES_BY_TEAM_IDS = Addressable::Template.new "#{
|
15
|
-
CHALLENGER = Addressable::Template.new "#{BASE_LEAGUE_URL}/challenger{?api_key}"
|
14
|
+
ENTRIES_BY_TEAM_IDS = Addressable::Template.new "#{BASE_LEAGUE_URL}/by-team/{teamIds}/entry{?api_key}"
|
15
|
+
CHALLENGER = Addressable::Template.new "#{BASE_LEAGUE_URL}/challenger{?api_key,type}"
|
16
16
|
|
17
|
+
CHALLENGER_QUEUE_TYPES = ['RANKED_SOLO_5x5'.freeze, 'RANKED_TEAM_3x3'.freeze, 'RANKED_TEAM_5x5'.freeze].freeze
|
18
|
+
|
19
|
+
# @see https://developer.riotgames.com/api/methods#!/936/3241
|
17
20
|
def leagues_by_summoner_ids(summoner_ids:)
|
18
21
|
response_for LEAGUES_BY_SUMMONER_IDS, {summonerIds: summoner_ids}
|
19
22
|
end
|
20
23
|
|
24
|
+
# @see https://developer.riotgames.com/api/methods#!/936/3245
|
21
25
|
def league_entries_by_summoner_ids(summoner_ids:)
|
22
26
|
response_for ENTRIES_BY_SUMMONER_IDS, {summonerIds: summoner_ids}
|
23
27
|
end
|
24
28
|
|
29
|
+
# @see https://developer.riotgames.com/api/methods#!/936/3242
|
25
30
|
def leagues_by_team_ids(team_ids:)
|
26
31
|
response_for LEAGUES_BY_TEAM_IDS, {teamIds: team_ids}
|
27
32
|
end
|
28
33
|
|
34
|
+
# @see https://developer.riotgames.com/api/methods#!/936/3244
|
29
35
|
def league_entries_by_team_ids(team_ids:)
|
30
36
|
response_for ENTRIES_BY_TEAM_IDS, {teamIds: team_ids}
|
31
37
|
end
|
32
38
|
|
39
|
+
# Challenger league data for type.
|
40
|
+
#
|
41
|
+
# @param type [String] required, must be RANKED_SOLO_5x5, RANKED_TEAM_3x3, or RANKED_TEAM_5x5
|
42
|
+
# @see https://developer.riotgames.com/api/methods#!/936/3243
|
33
43
|
def challenger(type: )
|
44
|
+
raise ArgumentError,
|
45
|
+
"Invalid argument: #{type}, arg must be in #{CHALLENGER_QUEUE_TYPES}" unless CHALLENGER_QUEUE_TYPES.include?(type)
|
46
|
+
|
34
47
|
response_for CHALLENGER, {type: type}
|
35
48
|
end
|
36
49
|
end
|
data/lib/taric/operation/team.rb
CHANGED
@@ -10,10 +10,12 @@ module Taric
|
|
10
10
|
TEAMS_BY_SUMMONER_IDS = Addressable::Template.new "#{BASE_TEAM_URL}/by-summoner/{summonerIds}"
|
11
11
|
TEAMS_BY_TEAM_IDS = Addressable::Template.new "#{BASE_TEAM_URL}/{teamIds}"
|
12
12
|
|
13
|
+
# @see https://developer.riotgames.com/api/methods#!/937/3247
|
13
14
|
def teams_by_summoner_ids(summoner_ids:)
|
14
15
|
response_for TEAMS_BY_SUMMONER_IDS, {summonerIds: summoner_ids}
|
15
16
|
end
|
16
17
|
|
18
|
+
# @see https://developer.riotgames.com/api/methods#!/937/3246
|
17
19
|
def teams(team_ids:)
|
18
20
|
response_for TEAMS_BY_TEAM_IDS, {teamIds: team_ids}
|
19
21
|
end
|
data/lib/taric/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: taric
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joseph Yi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|