taric 0.1.6 → 0.1.7
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/README.md +4 -4
- data/lib/taric.rb +28 -5
- data/lib/taric/client.rb +6 -0
- data/lib/taric/configuration.rb +1 -1
- data/lib/taric/connection.rb +2 -4
- data/lib/taric/version.rb +1 -1
- data/taric.gemspec +2 -2
- metadata +11 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 29900a7fab3608cd9c692b69817f666747e39136
|
|
4
|
+
data.tar.gz: e2f22660390cb82bc490f51422bb517eef746e93
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d128b14efc299f1fa07bb383fb32a4b6f0e4d56fa61b9a7a975a259c382aa9d0714d5035faca5797872beac100879b54d93d7f30c3c016813153b1ef4665984c
|
|
7
|
+
data.tar.gz: b409f0486bc7968488ab4368aefc315aa113682c919bc122bc7bf8bf8fca69691636c3803d486f44e6d13bb87e4ab8cc675b80b1b7ba4d86c849c9b11b90a9dc
|
data/README.md
CHANGED
|
@@ -62,14 +62,14 @@ There are a couple of ways to set the API key:
|
|
|
62
62
|
|
|
63
63
|
> "Functional and stylish."
|
|
64
64
|
|
|
65
|
-
Once the key is set, you can use `Taric.client(:
|
|
65
|
+
Once the key is set, you can use `Taric.client(region: region_code)` to get a client instance for the specified region.
|
|
66
66
|
|
|
67
67
|
```ruby
|
|
68
68
|
# North America
|
|
69
|
-
client = Taric.client(:na)
|
|
69
|
+
client = Taric.client(region: :na)
|
|
70
70
|
|
|
71
|
-
# Korea
|
|
72
|
-
client = Taric.client(:kr)
|
|
71
|
+
# Korea, using String arg
|
|
72
|
+
client = Taric.client(region: 'kr')
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
### Champion
|
data/lib/taric.rb
CHANGED
|
@@ -9,14 +9,37 @@ module Taric
|
|
|
9
9
|
class << self
|
|
10
10
|
attr_accessor :configuration
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
# Creates a [Taric::Client], the main interface to the LoL API. If the api_key is provided
|
|
13
|
+
# in .configure!, then only the region needs to be set. If .configure! is used, but a different
|
|
14
|
+
# api_key is provided, then the latter takes precedence.
|
|
15
|
+
#
|
|
16
|
+
# @see Taric::Client::REGION_ENDPOINT_INFO
|
|
17
|
+
# @param region [Symbol] region code, also accepts [String], default is :na
|
|
18
|
+
# @param api_key [String] rito API key
|
|
19
|
+
# @param config [Taric::Configuration] configuration options. If not provided, then defaults will be used.
|
|
20
|
+
#
|
|
21
|
+
# @return [Taric::Client]
|
|
22
|
+
#
|
|
23
|
+
# @example
|
|
24
|
+
# # With .configure! (preferred)
|
|
25
|
+
# Taric.configure! do |config|
|
|
26
|
+
# config.api_key = 'your-rito-api-key'
|
|
27
|
+
# end
|
|
28
|
+
#
|
|
29
|
+
# client = Taric.client(region: :na)
|
|
30
|
+
#
|
|
31
|
+
# # With arbitrary key.
|
|
32
|
+
# client = Taric.client(region: :na, api_key: 'your-rito-key')
|
|
33
|
+
def client(region: :na, api_key: nil, config: @configuration ||= Taric::Configuration.new)
|
|
34
|
+
Taric::Client.new(api_key: api_key || config.api_key,
|
|
35
|
+
region: region.is_a?(String) ? region.to_sym : region,
|
|
15
36
|
requestor: config.requestor.(connection(config)),
|
|
16
37
|
response_handler: config.response_handler)
|
|
17
38
|
end
|
|
18
39
|
|
|
19
|
-
# Sets global configuration.
|
|
40
|
+
# Sets global configuration. Should only be called once in a process (e.g. Rails initializer)
|
|
41
|
+
#
|
|
42
|
+
# @see Taric::Configuration
|
|
20
43
|
#
|
|
21
44
|
# @example
|
|
22
45
|
# Taric.configure! do |config|
|
|
@@ -28,7 +51,7 @@ module Taric
|
|
|
28
51
|
end
|
|
29
52
|
|
|
30
53
|
# Resets global configuration.
|
|
31
|
-
#
|
|
54
|
+
# @see Taric::Configuration
|
|
32
55
|
def reset!
|
|
33
56
|
@configuration = Taric::Configuration.new
|
|
34
57
|
end
|
data/lib/taric/client.rb
CHANGED
|
@@ -18,12 +18,18 @@ module Taric
|
|
|
18
18
|
pbe: {region: 'pbe'.freeze, platform_id: 'PBE1', host: 'pbe.api.pvp.net'}
|
|
19
19
|
}.freeze
|
|
20
20
|
|
|
21
|
+
REGION_ENDPOINT_STRING_KEYS = REGION_ENDPOINT_INFO.keys.map(&:to_s).freeze
|
|
22
|
+
|
|
21
23
|
# @param api_key [String] rito api key
|
|
22
24
|
# @param region [Symbol] region code
|
|
23
25
|
# @param requestor [Proc] lambda that will accept a url and return a [Faraday::Response]
|
|
24
26
|
# @param response_handler [Proc] lambda that accepts [Faraday::Response] and handles it
|
|
25
27
|
#
|
|
26
28
|
def initialize(api_key:, region:, requestor:, response_handler:)
|
|
29
|
+
raise ArgumentError, 'api_key cannot be nil' if api_key.nil?
|
|
30
|
+
raise ArgumentError, 'region cannot be nil' if region.nil?
|
|
31
|
+
raise ArgumentError, "#{region} is not a valid region, #{REGION_ENDPOINT_STRING_KEYS}" if REGION_ENDPOINT_INFO[region].nil?
|
|
32
|
+
|
|
27
33
|
@api_key = api_key
|
|
28
34
|
@region = region
|
|
29
35
|
@requestor = requestor
|
data/lib/taric/configuration.rb
CHANGED
|
@@ -11,7 +11,7 @@ module Taric
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
def initialize(options = {})
|
|
14
|
-
@api_key = options.fetch(:api_key, ENV.fetch('RIOT_API_KEY'.freeze,
|
|
14
|
+
@api_key = options.fetch(:api_key, ENV.fetch('RIOT_API_KEY'.freeze, nil))
|
|
15
15
|
@format = options.fetch(:format, :json)
|
|
16
16
|
@user_agent = options.fetch(:user_agent, 'Taric Gem')
|
|
17
17
|
@adapter = options.fetch(:adapter, :typhoeus)
|
data/lib/taric/connection.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require 'faraday_middleware'
|
|
1
|
+
require 'faraday_middleware/parse_oj'
|
|
2
2
|
|
|
3
3
|
module Taric
|
|
4
4
|
module Connection
|
|
@@ -8,9 +8,7 @@ module Taric
|
|
|
8
8
|
}.merge(config.connection_opts)
|
|
9
9
|
|
|
10
10
|
Faraday::Connection.new(options) do |conn|
|
|
11
|
-
|
|
12
|
-
#conn.response :raise_error
|
|
13
|
-
conn.response :json, :content_type => /\bjson$/
|
|
11
|
+
conn.response :oj, :content_type => /\bjson$/
|
|
14
12
|
conn.adapter config.adapter
|
|
15
13
|
end
|
|
16
14
|
end
|
data/lib/taric/version.rb
CHANGED
data/taric.gemspec
CHANGED
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
|
30
30
|
spec.add_dependency 'typhoeus', "~> 0.3"
|
|
31
31
|
spec.add_runtime_dependency 'memoist', '~> 0.11'
|
|
32
32
|
spec.add_runtime_dependency('addressable', '~> 2.3')
|
|
33
|
+
spec.add_runtime_dependency('oj', '~> 2.12')
|
|
33
34
|
spec.add_runtime_dependency('faraday_middleware', '~> 0.9')
|
|
34
|
-
spec.add_runtime_dependency('
|
|
35
|
-
spec.add_runtime_dependency('multi_json', '~> 1.1')
|
|
35
|
+
spec.add_runtime_dependency('faraday_middleware-parse_oj', '~> 0.3.0')
|
|
36
36
|
end
|
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.7
|
|
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-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -143,47 +143,47 @@ dependencies:
|
|
|
143
143
|
- !ruby/object:Gem::Version
|
|
144
144
|
version: '2.3'
|
|
145
145
|
- !ruby/object:Gem::Dependency
|
|
146
|
-
name:
|
|
146
|
+
name: oj
|
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
|
148
148
|
requirements:
|
|
149
149
|
- - "~>"
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
|
-
version: '
|
|
151
|
+
version: '2.12'
|
|
152
152
|
type: :runtime
|
|
153
153
|
prerelease: false
|
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
|
155
155
|
requirements:
|
|
156
156
|
- - "~>"
|
|
157
157
|
- !ruby/object:Gem::Version
|
|
158
|
-
version: '
|
|
158
|
+
version: '2.12'
|
|
159
159
|
- !ruby/object:Gem::Dependency
|
|
160
|
-
name:
|
|
160
|
+
name: faraday_middleware
|
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|
|
162
162
|
requirements:
|
|
163
163
|
- - "~>"
|
|
164
164
|
- !ruby/object:Gem::Version
|
|
165
|
-
version: '
|
|
165
|
+
version: '0.9'
|
|
166
166
|
type: :runtime
|
|
167
167
|
prerelease: false
|
|
168
168
|
version_requirements: !ruby/object:Gem::Requirement
|
|
169
169
|
requirements:
|
|
170
170
|
- - "~>"
|
|
171
171
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '
|
|
172
|
+
version: '0.9'
|
|
173
173
|
- !ruby/object:Gem::Dependency
|
|
174
|
-
name:
|
|
174
|
+
name: faraday_middleware-parse_oj
|
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
|
176
176
|
requirements:
|
|
177
177
|
- - "~>"
|
|
178
178
|
- !ruby/object:Gem::Version
|
|
179
|
-
version:
|
|
179
|
+
version: 0.3.0
|
|
180
180
|
type: :runtime
|
|
181
181
|
prerelease: false
|
|
182
182
|
version_requirements: !ruby/object:Gem::Requirement
|
|
183
183
|
requirements:
|
|
184
184
|
- - "~>"
|
|
185
185
|
- !ruby/object:Gem::Version
|
|
186
|
-
version:
|
|
186
|
+
version: 0.3.0
|
|
187
187
|
description: An outrageous Riot Games LoL API Client
|
|
188
188
|
email:
|
|
189
189
|
- dissonance@gmail.com
|