Skip to content

Commit 911d704

Browse files
committed
Singleton auth token provider
1 parent d052dfc commit 911d704

File tree

3 files changed

+53
-44
lines changed

3 files changed

+53
-44
lines changed

.rspec_status

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,58 @@
11
example_id | status | run_time |
22
------------------------------------------------------- | ------ | --------------- |
3-
./spec/zai_payment/auth/token_provider_spec.rb[1:1:1] | passed | 0.00054 seconds |
4-
./spec/zai_payment/auth/token_provider_spec.rb[1:2:1:1] | passed | 0.00502 seconds |
5-
./spec/zai_payment/auth/token_provider_spec.rb[1:2:1:2] | passed | 0.0006 seconds |
6-
./spec/zai_payment/auth/token_provider_spec.rb[1:2:2:1] | passed | 0.0002 seconds |
7-
./spec/zai_payment/auth/token_provider_spec.rb[1:2:2:2] | passed | 0.00019 seconds |
3+
./spec/zai_payment/auth/token_provider_spec.rb[1:1:1] | passed | 0.00042 seconds |
4+
./spec/zai_payment/auth/token_provider_spec.rb[1:2:1:1] | passed | 0.00478 seconds |
5+
./spec/zai_payment/auth/token_provider_spec.rb[1:2:1:2] | passed | 0.00046 seconds |
6+
./spec/zai_payment/auth/token_provider_spec.rb[1:2:2:1] | passed | 0.00033 seconds |
7+
./spec/zai_payment/auth/token_provider_spec.rb[1:2:2:2] | passed | 0.0002 seconds |
88
./spec/zai_payment/auth/token_provider_spec.rb[1:2:2:3] | passed | 0.00017 seconds |
9-
./spec/zai_payment/auth/token_provider_spec.rb[1:2:3:1] | passed | 0.00025 seconds |
10-
./spec/zai_payment/auth/token_provider_spec.rb[1:2:3:2] | passed | 0.00092 seconds |
11-
./spec/zai_payment/auth/token_provider_spec.rb[1:2:3:3] | passed | 0.00064 seconds |
12-
./spec/zai_payment/auth/token_provider_spec.rb[1:2:4:1] | passed | 0.00081 seconds |
13-
./spec/zai_payment/auth/token_provider_spec.rb[1:2:4:2] | passed | 0.00064 seconds |
14-
./spec/zai_payment/auth/token_provider_spec.rb[1:3:1] | passed | 0.00083 seconds |
15-
./spec/zai_payment/auth/token_provider_spec.rb[1:3:2] | passed | 0.00024 seconds |
16-
./spec/zai_payment/auth/token_provider_spec.rb[1:3:3] | passed | 0.00026 seconds |
17-
./spec/zai_payment/auth/token_provider_spec.rb[1:3:4:1] | passed | 0.00096 seconds |
18-
./spec/zai_payment/auth/token_provider_spec.rb[1:3:5:1] | passed | 0.00031 seconds |
19-
./spec/zai_payment/auth/token_provider_spec.rb[1:3:6:1] | passed | 0.00024 seconds |
20-
./spec/zai_payment/auth/token_provider_spec.rb[1:3:7:1] | passed | 0.00025 seconds |
21-
./spec/zai_payment/auth/token_provider_spec.rb[1:4:1] | passed | 0.00019 seconds |
22-
./spec/zai_payment/auth/token_provider_spec.rb[1:4:2] | passed | 0.0002 seconds |
23-
./spec/zai_payment/auth/token_provider_spec.rb[1:4:3] | passed | 0.00019 seconds |
24-
./spec/zai_payment/auth/token_provider_spec.rb[1:4:4] | passed | 0.0002 seconds |
25-
./spec/zai_payment/auth/token_provider_spec.rb[1:4:5] | passed | 0.0002 seconds |
26-
./spec/zai_payment/auth/token_provider_spec.rb[1:4:6] | passed | 0.00018 seconds |
27-
./spec/zai_payment/auth/token_provider_spec.rb[1:5:1] | passed | 0.00018 seconds |
9+
./spec/zai_payment/auth/token_provider_spec.rb[1:2:3:1] | passed | 0.00056 seconds |
10+
./spec/zai_payment/auth/token_provider_spec.rb[1:2:3:2] | passed | 0.00076 seconds |
11+
./spec/zai_payment/auth/token_provider_spec.rb[1:2:3:3] | passed | 0.00096 seconds |
12+
./spec/zai_payment/auth/token_provider_spec.rb[1:2:4:1] | passed | 0.00092 seconds |
13+
./spec/zai_payment/auth/token_provider_spec.rb[1:2:4:2] | passed | 0.00088 seconds |
14+
./spec/zai_payment/auth/token_provider_spec.rb[1:3:1] | passed | 0.00075 seconds |
15+
./spec/zai_payment/auth/token_provider_spec.rb[1:3:2] | passed | 0.00025 seconds |
16+
./spec/zai_payment/auth/token_provider_spec.rb[1:3:3] | passed | 0.00034 seconds |
17+
./spec/zai_payment/auth/token_provider_spec.rb[1:3:4:1] | passed | 0.00092 seconds |
18+
./spec/zai_payment/auth/token_provider_spec.rb[1:3:5:1] | passed | 0.0003 seconds |
19+
./spec/zai_payment/auth/token_provider_spec.rb[1:3:6:1] | passed | 0.00025 seconds |
20+
./spec/zai_payment/auth/token_provider_spec.rb[1:3:7:1] | passed | 0.00026 seconds |
21+
./spec/zai_payment/auth/token_provider_spec.rb[1:4:1] | passed | 0.00022 seconds |
22+
./spec/zai_payment/auth/token_provider_spec.rb[1:4:2] | passed | 0.00021 seconds |
23+
./spec/zai_payment/auth/token_provider_spec.rb[1:4:3] | passed | 0.0002 seconds |
24+
./spec/zai_payment/auth/token_provider_spec.rb[1:4:4] | passed | 0.00022 seconds |
25+
./spec/zai_payment/auth/token_provider_spec.rb[1:4:5] | passed | 0.00022 seconds |
26+
./spec/zai_payment/auth/token_provider_spec.rb[1:4:6] | passed | 0.0002 seconds |
27+
./spec/zai_payment/auth/token_provider_spec.rb[1:5:1] | passed | 0.00023 seconds |
2828
./spec/zai_payment/auth/token_provider_spec.rb[1:5:2] | passed | 0.00012 seconds |
29-
./spec/zai_payment/auth/token_provider_spec.rb[1:5:3] | passed | 0.00135 seconds |
30-
./spec/zai_payment/auth/token_provider_spec.rb[1:5:4] | passed | 0.00012 seconds |
31-
./spec/zai_payment/auth/token_provider_spec.rb[1:6:1] | passed | 0.00008 seconds |
32-
./spec/zai_payment/auth/token_provider_spec.rb[1:6:2] | passed | 0.00009 seconds |
33-
./spec/zai_payment/auth/token_provider_spec.rb[1:6:3] | passed | 0.00012 seconds |
34-
./spec/zai_payment/auth/token_provider_spec.rb[1:6:4:1] | passed | 0.00008 seconds |
35-
./spec/zai_payment/auth/token_provider_spec.rb[1:7:1] | passed | 0.0003 seconds |
36-
./spec/zai_payment/config_spec.rb[1:1:1] | passed | 0.00003 seconds |
37-
./spec/zai_payment/config_spec.rb[1:1:2] | passed | 0.00055 seconds |
38-
./spec/zai_payment/config_spec.rb[1:1:3] | passed | 0.00002 seconds |
39-
./spec/zai_payment/config_spec.rb[1:1:4] | passed | 0.00002 seconds |
40-
./spec/zai_payment/config_spec.rb[1:2:1:1] | passed | 0.00004 seconds |
29+
./spec/zai_payment/auth/token_provider_spec.rb[1:5:3] | passed | 0.00129 seconds |
30+
./spec/zai_payment/auth/token_provider_spec.rb[1:5:4] | passed | 0.00015 seconds |
31+
./spec/zai_payment/auth/token_provider_spec.rb[1:6:1] | passed | 0.00011 seconds |
32+
./spec/zai_payment/auth/token_provider_spec.rb[1:6:2] | passed | 0.00008 seconds |
33+
./spec/zai_payment/auth/token_provider_spec.rb[1:6:3] | passed | 0.00013 seconds |
34+
./spec/zai_payment/auth/token_provider_spec.rb[1:6:4:1] | passed | 0.00009 seconds |
35+
./spec/zai_payment/auth/token_provider_spec.rb[1:7:1] | passed | 0.00033 seconds |
36+
./spec/zai_payment/config_spec.rb[1:1:1] | passed | 0.00004 seconds |
37+
./spec/zai_payment/config_spec.rb[1:1:2] | passed | 0.00043 seconds |
38+
./spec/zai_payment/config_spec.rb[1:1:3] | passed | 0.00004 seconds |
39+
./spec/zai_payment/config_spec.rb[1:1:4] | passed | 0.00003 seconds |
40+
./spec/zai_payment/config_spec.rb[1:2:1:1] | passed | 0.00006 seconds |
4141
./spec/zai_payment/config_spec.rb[1:2:2:1] | passed | 0.00004 seconds |
4242
./spec/zai_payment/config_spec.rb[1:2:3:1] | passed | 0.00003 seconds |
43-
./spec/zai_payment/config_spec.rb[1:2:4:1] | passed | 0.00004 seconds |
43+
./spec/zai_payment/config_spec.rb[1:2:4:1] | passed | 0.00003 seconds |
4444
./spec/zai_payment/config_spec.rb[1:2:5:1] | passed | 0.00003 seconds |
4545
./spec/zai_payment/config_spec.rb[1:2:6:1] | passed | 0.00003 seconds |
4646
./spec/zai_payment/config_spec.rb[1:2:7:1] | passed | 0.00003 seconds |
47-
./spec/zai_payment/config_spec.rb[1:3:1:1] | passed | 0.00002 seconds |
48-
./spec/zai_payment/config_spec.rb[1:3:2:1] | passed | 0.00002 seconds |
47+
./spec/zai_payment/config_spec.rb[1:3:1:1] | passed | 0.00003 seconds |
48+
./spec/zai_payment/config_spec.rb[1:3:2:1] | passed | 0.00003 seconds |
4949
./spec/zai_payment/config_spec.rb[1:3:3:1] | passed | 0.00002 seconds |
50-
./spec/zai_payment/config_spec.rb[1:3:4:1] | passed | 0.00002 seconds |
50+
./spec/zai_payment/config_spec.rb[1:3:4:1] | passed | 0.00003 seconds |
5151
./spec/zai_payment/config_spec.rb[1:3:5:1] | passed | 0.00003 seconds |
5252
./spec/zai_payment/config_spec.rb[1:4:1] | passed | 0.00002 seconds |
5353
./spec/zai_payment/config_spec.rb[1:4:2] | passed | 0.00002 seconds |
5454
./spec/zai_payment/config_spec.rb[1:4:3] | passed | 0.00002 seconds |
5555
./spec/zai_payment/config_spec.rb[1:4:4] | passed | 0.00002 seconds |
56-
./spec/zai_payment/config_spec.rb[1:4:5] | passed | 0.00002 seconds |
56+
./spec/zai_payment/config_spec.rb[1:4:5] | passed | 0.00003 seconds |
5757
./spec/zai_payment/config_spec.rb[1:4:6] | passed | 0.00002 seconds |
5858
./spec/zai_payment_spec.rb[1:1] | passed | 0.00002 seconds |

lib/zai_payment.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,17 @@ def config
1717
def configure
1818
yield config
1919
end
20+
21+
# Singleton auth token provider (uses default MemoryStore under the hood)
22+
def auth
23+
@auth ||= ZaiPayment::Auth::TokenProvider.new(config: config)
24+
end
25+
26+
# --- Convenience one-liners ---
27+
def token = auth.bearer_token
28+
def refresh_token! = auth.refresh_token
29+
def clear_token! = auth.clear_token
30+
def token_expiry = auth.token_expiry
31+
def token_type = auth.token_type
2032
end
2133
end

lib/zai_payment/auth/token_provider.rb

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# frozen_string_literal: true
22

3-
require 'json'
4-
require 'base64'
5-
require 'uri'
63
require 'faraday'
74

85
module ZaiPayment

0 commit comments

Comments
 (0)