apollo-ruby 1.0.4 → 1.0.5
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/CHANGELOG.md +1 -0
- data/Gemfile +1 -3
- data/Gemfile.lock +1 -21
- data/lib/apollo/auth.rb +2 -0
- data/lib/apollo/client.rb +5 -6
- data/lib/apollo/configuration.rb +2 -1
- data/lib/apollo/http.rb +12 -6
- data/lib/apollo/instance.rb +10 -4
- data/lib/apollo/utils.rb +2 -0
- data/lib/apollo/version.rb +1 -1
- data/lib/apollo-ruby.rb +2 -0
- data/lib/apollo.rb +8 -2
- metadata +2 -31
- data/lib/apollo/log.rb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fa906b6533d57f7c1955a74a9203a95461b2bfdf7a3e2ce21431a7ffd75bbf33
|
4
|
+
data.tar.gz: e755a001930a5108182c95dacc89a3e5b5bc48cb7215e6636f45b843759c1777
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4529548f583cf9830a6df51d07ca94e52020e6bd71d8df51f08ec5bdbc46f9e316ea280fcd554925e2fe0267d94111a1ff7d1f2e800426dae2b8277d6f3d44f6
|
7
|
+
data.tar.gz: 0f8df44eaf1841473ea8f642937ce737aff7c50aae37f096ce9d629b64d649d3d55cde2a1b3fb0c129b9542d3e34391968b7240601fcff0d0d7a26a909eafac6
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
-
# Specify
|
5
|
+
# Specify dependencies in apollo.gemspec
|
6
6
|
gemspec
|
7
7
|
|
8
8
|
gem "rake", "~> 13.0"
|
@@ -10,5 +10,3 @@ gem "rake", "~> 13.0"
|
|
10
10
|
gem "rspec", "~> 3.0"
|
11
11
|
|
12
12
|
gem "rubocop", "~> 1.21"
|
13
|
-
|
14
|
-
gem "rest-client"
|
data/Gemfile.lock
CHANGED
@@ -1,36 +1,20 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
apollo-ruby (1.0.
|
5
|
-
json
|
6
|
-
rest-client
|
4
|
+
apollo-ruby (1.0.5)
|
7
5
|
|
8
6
|
GEM
|
9
7
|
remote: https://rubygems.org/
|
10
8
|
specs:
|
11
9
|
ast (2.4.2)
|
12
10
|
diff-lcs (1.5.0)
|
13
|
-
domain_name (0.5.20190701)
|
14
|
-
unf (>= 0.0.5, < 1.0.0)
|
15
|
-
http-accept (1.7.0)
|
16
|
-
http-cookie (1.0.5)
|
17
|
-
domain_name (~> 0.5)
|
18
11
|
json (2.6.2)
|
19
|
-
mime-types (3.4.1)
|
20
|
-
mime-types-data (~> 3.2015)
|
21
|
-
mime-types-data (3.2023.0218.1)
|
22
|
-
netrc (0.11.0)
|
23
12
|
parallel (1.22.1)
|
24
13
|
parser (3.1.2.1)
|
25
14
|
ast (~> 2.4.1)
|
26
15
|
rainbow (3.1.1)
|
27
16
|
rake (13.0.6)
|
28
17
|
regexp_parser (2.6.0)
|
29
|
-
rest-client (2.1.0)
|
30
|
-
http-accept (>= 1.7.0, < 2.0)
|
31
|
-
http-cookie (>= 1.0.2, < 2.0)
|
32
|
-
mime-types (>= 1.16, < 4.0)
|
33
|
-
netrc (~> 0.8)
|
34
18
|
rexml (3.2.5)
|
35
19
|
rspec (3.12.0)
|
36
20
|
rspec-core (~> 3.12.0)
|
@@ -58,9 +42,6 @@ GEM
|
|
58
42
|
rubocop-ast (1.23.0)
|
59
43
|
parser (>= 3.1.1.0)
|
60
44
|
ruby-progressbar (1.11.0)
|
61
|
-
unf (0.1.4)
|
62
|
-
unf_ext
|
63
|
-
unf_ext (0.0.8.2)
|
64
45
|
unicode-display_width (2.3.0)
|
65
46
|
|
66
47
|
PLATFORMS
|
@@ -70,7 +51,6 @@ DEPENDENCIES
|
|
70
51
|
apollo-ruby!
|
71
52
|
bundler
|
72
53
|
rake (~> 13.0)
|
73
|
-
rest-client
|
74
54
|
rspec (~> 3.0)
|
75
55
|
rubocop (~> 1.21)
|
76
56
|
|
data/lib/apollo/auth.rb
CHANGED
data/lib/apollo/client.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Apollo
|
2
4
|
# Get configuration data from Apollo server.
|
3
5
|
class Client
|
4
|
-
|
5
6
|
attr_accessor :configuration
|
6
7
|
|
7
8
|
def initialize(configuration)
|
@@ -9,11 +10,9 @@ module Apollo
|
|
9
10
|
end
|
10
11
|
|
11
12
|
def fetch(key, disable_cache)
|
12
|
-
if
|
13
|
-
|
14
|
-
|
15
|
-
cached_http_get(key)
|
16
|
-
end
|
13
|
+
return nil if [configuration.server, configuration.appid, configuration.secret].any?(&:nil?)
|
14
|
+
|
15
|
+
disable_cache ? uncached_http_get(key) : cached_http_get(key)
|
17
16
|
end
|
18
17
|
|
19
18
|
def cached_http_get(key)
|
data/lib/apollo/configuration.rb
CHANGED
data/lib/apollo/http.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "net/http"
|
2
4
|
|
3
5
|
module Apollo
|
4
6
|
# HTTP Client.
|
@@ -9,12 +11,17 @@ module Apollo
|
|
9
11
|
end
|
10
12
|
|
11
13
|
def get(url, headers, _opts = {})
|
12
|
-
|
13
|
-
|
14
|
+
uri = URI(url)
|
15
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
16
|
+
http.use_ssl = (uri.scheme == "https")
|
17
|
+
request = Net::HTTP::Get.new(uri)
|
18
|
+
request.initialize_http_header(headers)
|
19
|
+
response = http.request(request)
|
20
|
+
[response.code.to_i, response.body, response.to_hash]
|
14
21
|
rescue StandardError => e
|
15
|
-
|
22
|
+
Apollo.logger.warn "#{e.message} => Apollo::HTTP.get('#{url}')"
|
16
23
|
if e.respond_to?(:response) && e.response.respond_to?(:code)
|
17
|
-
return e.response.code, e.response.body, e.response.
|
24
|
+
return e.response.code.to_i, e.response.body, e.response.to_hash
|
18
25
|
end
|
19
26
|
|
20
27
|
[nil, nil, nil]
|
@@ -22,4 +29,3 @@ module Apollo
|
|
22
29
|
end
|
23
30
|
end
|
24
31
|
end
|
25
|
-
|
data/lib/apollo/instance.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Apollo
|
2
4
|
# A copy of Apollo's base module class methods.
|
3
5
|
class Instance
|
@@ -17,13 +19,17 @@ module Apollo
|
|
17
19
|
|
18
20
|
def configure
|
19
21
|
yield(configuration) if block_given?
|
20
|
-
self.client = Client.new(configuration)
|
21
|
-
client
|
22
|
+
self.client = @client || Client.new(configuration)
|
22
23
|
end
|
23
24
|
|
24
|
-
def fetch(key, opts = {})
|
25
|
+
def fetch(key, default = nil, opts = {}, &block)
|
25
26
|
opts[:disable_cache] = false unless opts.key?(:disable_cache)
|
26
|
-
client.fetch(key, opts[:disable_cache])
|
27
|
+
value = client.fetch(key, opts[:disable_cache])
|
28
|
+
value || (block_given? ? block.call(key) : default)
|
29
|
+
end
|
30
|
+
|
31
|
+
def [](key)
|
32
|
+
fetch(key)
|
27
33
|
end
|
28
34
|
end
|
29
35
|
end
|
data/lib/apollo/utils.rb
CHANGED
data/lib/apollo/version.rb
CHANGED
data/lib/apollo-ruby.rb
CHANGED
data/lib/apollo.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "logger"
|
1
4
|
require "apollo/auth"
|
2
5
|
require "apollo/client"
|
3
6
|
require "apollo/configuration"
|
4
7
|
require "apollo/http"
|
5
8
|
require "apollo/instance"
|
6
|
-
require "apollo/log"
|
7
9
|
require "apollo/utils"
|
8
10
|
require "apollo/version"
|
9
11
|
|
@@ -16,6 +18,10 @@ module Apollo
|
|
16
18
|
@instance ||= Apollo::Instance.new
|
17
19
|
end
|
18
20
|
|
19
|
-
|
21
|
+
def logger
|
22
|
+
@logger ||= ::Logger.new($stderr)
|
23
|
+
end
|
24
|
+
|
25
|
+
def_delegators :instance, :client=, :configuration=, :configuration, :client, :configure, :fetch, :[]
|
20
26
|
end
|
21
27
|
end
|
metadata
CHANGED
@@ -1,43 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apollo-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kervin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: json
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rest-client
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
13
|
- !ruby/object:Gem::Dependency
|
42
14
|
name: bundler
|
43
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,7 +63,6 @@ files:
|
|
91
63
|
- lib/apollo/configuration.rb
|
92
64
|
- lib/apollo/http.rb
|
93
65
|
- lib/apollo/instance.rb
|
94
|
-
- lib/apollo/log.rb
|
95
66
|
- lib/apollo/utils.rb
|
96
67
|
- lib/apollo/version.rb
|
97
68
|
- sig/apollo.rbs
|