treezor_connect 0.20.1 → 0.21.0

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: 62c84708d568bb28d1d8eadb59c88b312695a1029673830116a0d3c6f989a3f1
4
- data.tar.gz: 4106207f1adfdee42732981002305e69c05e875e331acab5fae4ce5a204234e0
3
+ metadata.gz: f42fbc240623d62e13b086515e5e3d0bd709f9b8f3b8700a10fbd213db2cce6a
4
+ data.tar.gz: 85e14d31652d27fe8189921dc6220d2974ed4761e54fcaecce8531797cfd412c
5
5
  SHA512:
6
- metadata.gz: 449e8781d12c198168945f3fb78e9e20aafe3920f47ec6d51769b442c56e7dfcd98ce04581f54d43e77c9ac541cbd5bef6913efe4a75d2943ce011989284b3c0
7
- data.tar.gz: f30b9b8025ac6494ab73b5f40bf4d7bc6079cbe42499c885f90358ae009ece8ebe8bdd95ca3e2b1d8aaac6caec3766d4f212902a4cacd438054e9874d89af6af
6
+ metadata.gz: cc3ee88a1189859357ec0b782bcabef1e47efb37dafeb0c759d48bc509de883facecd0e3dbe8404a432ecd0bed614a80fff72561fb11e9568fb19540b04de762
7
+ data.tar.gz: 4448aa73525211e191755873caf1ac1cac04f695a33d925855c654e193f9e4cf433c9c451362c97ff57c098f18306b9118bd8d97c2449f6184141b748b6ddc2b
@@ -5,14 +5,22 @@ module TreezorConnect
5
5
  attr_reader :access_token
6
6
 
7
7
  def initialize(access_token)
8
- @conn = build_default_conn
9
8
  @access_token = access_token.nil? ? default_access_token : access_token
9
+ @conn = Faraday.new(
10
+ url: TreezorConnect.api_base_url,
11
+ headers: { 'Authorization' => "Bearer #{@access_token}" }
12
+ ) do |f|
13
+ f.response :logger, Logger.new($stdout) if ENV['ENABLE_HTTP_LOGGING']
14
+ f.adapter Faraday.default_adapter
15
+ end
10
16
  end
11
17
 
12
18
  def execute_request(method, path, headers: {}, params: {})
13
- headers['Authorization'] = "Bearer #{access_token}"
14
- response = conn.public_send(method, path, params: params[:query], form: params[:form], json: params[:body],
15
- headers:)
19
+ response = conn.public_send(method, path) do |req|
20
+ req.headers.merge!(headers)
21
+ req.params.merge!(params[:query]) if params[:query]
22
+ apply_body(req, params)
23
+ end
16
24
 
17
25
  process_response(response)
18
26
  end
@@ -21,11 +29,14 @@ module TreezorConnect
21
29
 
22
30
  attr_reader :conn
23
31
 
24
- def build_default_conn
25
- http = HTTP.persistent(TreezorConnect.api_base_url)
26
- return http.use(logging: { logger: Logger.new($stdout) }) unless ENV['ENABLE_HTTP_LOGGING'].nil?
27
-
28
- http
32
+ def apply_body(req, params)
33
+ if params[:form]
34
+ req.headers['Content-Type'] = 'application/x-www-form-urlencoded'
35
+ req.body = URI.encode_www_form(params[:form])
36
+ elsif params[:body]
37
+ req.headers['Content-Type'] = 'application/json'
38
+ req.body = params[:body].to_json
39
+ end
29
40
  end
30
41
 
31
42
  def oauth_client
@@ -41,13 +52,12 @@ module TreezorConnect
41
52
  end
42
53
 
43
54
  def process_response(response)
44
- http_status = response.status
45
- if http_status.success?
55
+ if response.success?
46
56
  response
47
- elsif http_status == 303
57
+ elsif response.status == 303
48
58
  raise AlreadyCreatedError, response
49
59
  else
50
- raise_api_error(http_status:, http_body: JSON.parse(response.to_s))
60
+ raise_api_error(http_status: response.status, http_body: JSON.parse(response.body))
51
61
  end
52
62
  end
53
63
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  module TreezorConnect
4
4
  class User < ApiResource
5
+ extend TreezorConnect::ApiOperations::Create
5
6
  extend TreezorConnect::ApiOperations::Update
6
7
 
7
8
  OBJECT_NAME = 'user'
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'http'
3
+ require 'faraday'
4
4
  require 'oauth2'
5
5
  require 'logger'
6
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: treezor_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.1
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - stefakins
8
8
  - jbauzone
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-11 00:00:00.000000000 Z
11
+ date: 2026-06-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A gem for making HTTP calls to Treezor Connect.
14
14
  email: stefan.atkinson69@gmail.com