active_record_api-request 0.3.13 → 0.3.17

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
  SHA256:
3
- metadata.gz: 263d60c6f20dedeb4ddf11c57f477db856bbbef2d6d4dc3b059c52d7bcae5234
4
- data.tar.gz: aaabc4345b53434748f68dd39e3e1049d1425e2157abbd06c385cacb07e107e9
3
+ metadata.gz: 1d6e188005d1705103e43caaaeb1b64ffe616927b61a2565a97d6409db6c90f9
4
+ data.tar.gz: e95f2b46e96a2ebb02d2c4d107d6f1606c77904a4fba4a71ffcb20bd3e26a0c4
5
5
  SHA512:
6
- metadata.gz: 7da94f911d65e00e5df2efa8c242812c6279ee92aa853060adbb944d47a37ac09012a6520aff91ea1640876863927b046abad59b3b98c29ecb855bd54defc629
7
- data.tar.gz: ab2306aec21f5841c0e88e78e9787ca4a243cb2710f9d3eb8163738024153b93c57026e8736e9a019b406d26d3ad1bf48cae5d7f57e536f1a70067ec04494384
6
+ metadata.gz: 06a9ce7ac4ab27d5d20f28efccc37d832849ee0d9cf7299ee377fa47e364d7ecd8563b03e3ce45e9693a5dc26f4913d663e17c0f32d2bd021d725fb39fbe807b
7
+ data.tar.gz: 0d5e6c6ed78ffbf16d740baa2f770175115057e98bf9e9e7eeb46e3df161aeba6f0e9a1eb4b237494ce7c7c1ccaf18d5b016e30c73167cc0a3ef78ededb22be3
@@ -5,7 +5,7 @@ require 'faraday-http-cache'
5
5
  module ActiveRecordApi
6
6
  module Request
7
7
  class Connection < Credentials
8
- attr_accessor :debug, :path, :cache_store
8
+ attr_accessor :debug, :path, :cache_store, :timeout
9
9
  attr_writer :full_url
10
10
 
11
11
  def authenticated_connection
@@ -16,7 +16,7 @@ module ActiveRecordApi
16
16
  def connection
17
17
  @connection ||= Faraday.new do |builder|
18
18
  builder.options[:open_timeout] = 2
19
- builder.options[:timeout] = 5
19
+ builder.options[:timeout] = timeout || 5
20
20
  builder.request :json
21
21
  builder.request :url_encoded
22
22
  builder.request :retry, max: 5, interval: 0.05, interval_randomness: 0.5, backoff_factor: 2, exceptions: [ActiveRecordApi::Request::AuthError]
@@ -3,7 +3,7 @@ module ActiveRecordApi
3
3
  module Request
4
4
  class TokenCache
5
5
  include ActiveAttr::Model
6
- attr_accessor :debug
6
+ attr_accessor :debug
7
7
 
8
8
  def flush
9
9
  return unless defined? AUTH_REDIS_POOL
@@ -25,7 +25,7 @@ module ActiveRecordApi
25
25
  unless defined? AUTH_REDIS_POOL
26
26
  debug_log 'no auth redis pool. getting new token'
27
27
  token = token_proc.call
28
- raise "no token returned! #{token}" if @token.nil?
28
+ raise "no token returned! #{token}" if token.nil?
29
29
  return token
30
30
  end
31
31
  AUTH_REDIS_POOL.with do |client|
@@ -33,14 +33,14 @@ module ActiveRecordApi
33
33
  @token = nil
34
34
  @retry = 0
35
35
  while @token.nil? && @retry < 5
36
- @retry += 1
37
36
  @token = @redis_client.get('auth_token')
38
37
  debug_log "retry ##{@retry}"
39
38
  debug_log "found token: #{@token}"
39
+ @retry += 1
40
40
  if @token.nil? || session_missing_for?(@token)
41
41
  if acquire_lock
42
42
  begin
43
- debug_log "acquired lock and fetching token for cache"
43
+ debug_log 'acquired lock and fetching token for cache'
44
44
  @token = token_proc.call
45
45
  raise "no token returned! #{@token}" if @token.nil?
46
46
  @redis_client.set 'auth_token', @token
@@ -70,7 +70,7 @@ module ActiveRecordApi
70
70
  return nil
71
71
  end
72
72
 
73
- @redis_session ||= Redis.new({url: "redis://#{ENV['REDIS_SESSION_HOST']}", db: ENV['REDIS_SESSION']})
73
+ @redis_session ||= Redis.new({ url: "redis://#{ENV['REDIS_SESSION_HOST']}", db: ENV['REDIS_SESSION'] })
74
74
  end
75
75
 
76
76
  def session_missing_for?(token)
@@ -86,7 +86,7 @@ module ActiveRecordApi
86
86
  end
87
87
 
88
88
  def acquire_lock
89
- @redis_client.set 'auth_token_lock', unique_key, nx: true, ex: 60
89
+ @redis_client.set 'auth_token_lock', unique_key, nx: true, ex: 8
90
90
  current_lock_value = @redis_client.get 'auth_token_lock'
91
91
  debug_log "#{current_lock_value} == #{unique_key}"
92
92
  current_lock_value == unique_key
@@ -102,4 +102,5 @@ module ActiveRecordApi
102
102
  end
103
103
  end
104
104
  end
105
+
105
106
  #:nocov:#
@@ -1,5 +1,5 @@
1
1
  module ActiveRecordApi
2
2
  module Request
3
- VERSION = '0.3.13'.freeze
3
+ VERSION = '0.3.17'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_api-request
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.13
4
+ version: 0.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Full Measure Education
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-21 00:00:00.000000000 Z
11
+ date: 2022-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_attr