ninja_van_api 0.3.2 → 0.3.3

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: 3c0500f6e4ff9f487125e31177607ea5540d449090baaf969074343652c3f685
4
- data.tar.gz: 0d4df61f525236b14a729e2e28cd10a5bdfc05774c0e86db5a0c19226048739b
3
+ metadata.gz: ed997af05554494833a80b0f1e41eecfd054d3524e6b546319ff248d5b984ca8
4
+ data.tar.gz: 2ad564359189a49a750499d554906d22e8841a7ca64273155b12f184c05db851
5
5
  SHA512:
6
- metadata.gz: 75d348ca0a519c74708855d372cb96a117caa233026eda42c6cb6a8c97051315de8dbc3f51d1fb86f96b12504b7fa48ceb59255f0ca6c4927b074ceb6aff0f95
7
- data.tar.gz: cd320d7a2d2dc7c8bf7b4452f83c23ceebd26fae8f82cf8cb7fa9b7dfa8a0fb92930667a52f02ec2e9cfe5697f7228c70734db922ec35adf4a4c065e3ed49e84
6
+ metadata.gz: 8c70b03ee5fe1557500ee6c9be2ecd0f98d1e92dd5b597575203e1af0d39daf2a60453cb92e90b7a2c1b002de998b6d2cecdc26feb38c74ff37cbb981ce2e63f
7
+ data.tar.gz: 6ee23a7f5697805be5b1b6f3e43b3d6d1d6c6a1458f864e7f464b5473c058e876b66720b29aa20201e83b1482846f232e912e34e0dc1bef62151e3b6e9ce73ab
@@ -15,9 +15,6 @@ module NinjaVanApi
15
15
  @country_code = country_code
16
16
  @test_mode = test_mode
17
17
  @conn_opts = conn_opts
18
- if defined?(Rails) && Rails.env.development?
19
- @token_info = { "access_token" => ENV["NINJAVAN_API_ACCESS_TOKEN"], "expires" => Time.now.utc.to_i + 3600 }
20
- end
21
18
 
22
19
  validate_country_code
23
20
  end
@@ -42,6 +39,11 @@ module NinjaVanApi
42
39
  @waybills ||= WaybillResource.new(self)
43
40
  end
44
41
 
42
+ def refresh_access_token
43
+ Rails.cache.delete(cache_key)
44
+ fetch_access_token
45
+ end
46
+
45
47
  private
46
48
 
47
49
  def validate_country_code
@@ -57,19 +59,14 @@ module NinjaVanApi
57
59
  end
58
60
 
59
61
  def access_token
60
- fetch_access_token if token_expired?
61
-
62
- if defined?(Rails) && Rails.respond_to?(:cache) && Rails.cache
63
- Rails.cache.read(cache_key)["access_token"]
64
- else
65
- @token_info["access_token"]
62
+ if Rails.env.development?
63
+ Rails.logger.debug "Access token might be expired. You can refetch the token by calling NinjaVanApi::Client#refresh_access_token. Make sure update the ENV variable NINJAVAN_API_ACCESS_TOKEN"
64
+ return { "access_token" => ENV.fetch("NINJAVAN_API_ACCESS_TOKEN") }
66
65
  end
67
- end
68
66
 
69
- def refresh_access_token
70
- @token_info = nil
71
- Rails.cache.delete(cache_key) if defined?(Rails) && Rails.respond_to?(:cache) && Rails.cache
72
- fetch_access_token
67
+ fetch_access_token if token_expired?
68
+
69
+ Rails.cache.read(cache_key)["access_token"]
73
70
  end
74
71
 
75
72
  def fetch_access_token
@@ -89,23 +86,8 @@ module NinjaVanApi
89
86
  handle_access_token_response(response)
90
87
  end
91
88
 
92
- def access_token
93
- fetch_access_token if token_expired?
94
-
95
- if defined?(Rails) && Rails.respond_to?(:cache) && Rails.cache
96
- Rails.cache.read(cache_key)["access_token"]
97
- else
98
- @token_info["access_token"]
99
- end
100
- end
101
-
102
89
  def token_expired?
103
- token_info =
104
- if defined?(Rails) && Rails.respond_to?(:cache) && Rails.cache
105
- Rails.cache.read(cache_key)
106
- else
107
- @token_info
108
- end
90
+ token_info = Rails.cache.read(cache_key)
109
91
 
110
92
  return true if token_info.nil?
111
93
 
@@ -117,12 +99,8 @@ module NinjaVanApi
117
99
  raise NinjaVanApi::AuthenticationError unless response.success?
118
100
 
119
101
  token_info = JSON.parse(response.body)
120
-
121
- if defined?(Rails) && Rails.respond_to?(:cache) && Rails.cache
122
- Rails.cache.write(cache_key, token_info, expires_in: token_info["expires_in"])
123
- else
124
- @token_info = token_info
125
- end
102
+ Rails.cache.write(cache_key, token_info, expires_in: token_info["expires_in"])
103
+ cache_key
126
104
  end
127
105
 
128
106
  def cache_key
@@ -6,4 +6,7 @@ module NinjaVanApi
6
6
  end
7
7
  class AuthenticationError < Error
8
8
  end
9
+
10
+ class CacheNotDefinedError < Error
11
+ end
9
12
  end
@@ -44,7 +44,7 @@ module NinjaVanApi
44
44
  when 400
45
45
  raise Error, "A bad request or a validation exception has occurred. #{error_message}"
46
46
  when 401
47
- if retry_count.zero?
47
+ if !(Rails.env.development? || Rails.env.test?) && retry_count.zero?
48
48
  # Force token refresh and retry the request once
49
49
  client.refresh_access_token
50
50
  return retry_request(response.env, retry_count + 1)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NinjaVanApi
4
- VERSION = "0.3.2"
4
+ VERSION = "0.3.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ninja_van_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jane Trang Mai Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-02-28 00:00:00.000000000 Z
11
+ date: 2025-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails