ibanity 2.2 → 2.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: 566ef8be5eb38fe424c373b242d9599a780bc9f7acb52e1106002969d87dce6f
4
- data.tar.gz: 96370ccdebf5f1cca9da24543826b068f43f9db4217899b48ce9380c20741258
3
+ metadata.gz: 48dd4b01d72e61f94d0f750657abe36e7598ae92cbc4112b1be54bc5385900a6
4
+ data.tar.gz: e2958c684d2b6e9b41474c372407cd78d2f4cc9d54ce9cb0128c68babc5eb9ce
5
5
  SHA512:
6
- metadata.gz: 684c30e120f52414fb02b63613efef9e304a0369761ab0c2db6dc69e9aa78380ee0c7a0cad516a2451c02a65aac7abd9dd2d89c986fda8cb1d9d1e1ed8512b56
7
- data.tar.gz: 1fb66ae09cbf094012640875cc24e17f604225c3d60de7af36f59d5de8b4d07702539b9a088d7893359b97302566d9944943add5176e89239d483d5d73880813
6
+ metadata.gz: 36edf303e46ef38ccbd09c2f45b5537f534035d39715163599dbe35c9f74e113e920146bb98fe64fb9fac1ee73ee41e448a60a35a608ed54ea7a6844a444eb9f
7
+ data.tar.gz: 94fb8e370e15e770fbb2791496ed7fac35ef1e4936ee38f020ce8c0556dedd9e02d572014ac490bb08ff1da0984f439e912bcd4f1a75405b5d74b8c48693ee38
@@ -12,7 +12,7 @@ jobs:
12
12
  steps:
13
13
  - uses: actions/checkout@v2
14
14
  - name: Set up Ruby 2.6
15
- uses: actions/setup-ruby@v1
15
+ uses: ruby/setup-ruby@v1
16
16
  with:
17
17
  ruby-version: 2.6
18
18
 
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.3
4
+
5
+ * [Ponto Connect] Add IntegrationAccount
6
+ * [XS2A] Add PendingTransaction
7
+ * [XS2A] Add additional webhooks event
8
+
9
+ * `Ibanity::Webhooks::Xs2a::Account::PendingTransactionsCreated`
10
+ * `Ibanity::Webhooks::Xs2a::Account::PendingTransactionsUpdated`
11
+
3
12
  ## 2.2
4
13
 
5
14
  * [Ponto Connect] Add additional webhook events
@@ -114,32 +114,40 @@ module Ibanity
114
114
  if relationship["data"]
115
115
  resource = relationship.dig("data", "type") || key
116
116
  klass = relationship_klass(resource)
117
- method_name = Ibanity::Util.underscore(key)
118
- define_singleton_method(method_name) do |headers: nil|
119
- klass.find_by_uri(uri: url, headers: headers, customer_access_token: customer_access_token)
117
+ unless klass.nil?
118
+ method_name = Ibanity::Util.underscore(key)
119
+ define_singleton_method(method_name) do |headers: nil|
120
+ klass.find_by_uri(uri: url, headers: headers, customer_access_token: customer_access_token)
121
+ end
122
+ self[Ibanity::Util.underscore("#{key}_id")] = relationship.dig("data", "id")
120
123
  end
121
- self[Ibanity::Util.underscore("#{key}_id")] = relationship.dig("data", "id")
122
124
  elsif relationship["meta"]
123
125
  resource = relationship.dig("meta", "type")
124
126
  klass = relationship_klass(resource)
125
- method_name = Ibanity::Util.underscore(key)
126
- define_singleton_method(method_name) do |headers: nil|
127
- klass.find_by_uri(uri: url, headers: headers, customer_access_token: customer_access_token)
127
+ unless klass.nil?
128
+ method_name = Ibanity::Util.underscore(key)
129
+ define_singleton_method(method_name) do |headers: nil|
130
+ klass.find_by_uri(uri: url, headers: headers, customer_access_token: customer_access_token)
131
+ end
128
132
  end
129
133
  elsif relationship.dig("links", "meta", "type")
130
134
  resource = relationship.dig("links", "meta", "type")
131
135
  klass = relationship_klass(resource)
132
- method_name = Ibanity::Util.underscore(key)
133
- define_singleton_method(method_name) do |headers: nil, **query_params|
134
- klass.list_by_uri(uri: url, headers: headers, query_params: query_params, customer_access_token: customer_access_token)
136
+ unless klass.nil?
137
+ method_name = Ibanity::Util.underscore(key)
138
+ define_singleton_method(method_name) do |headers: nil, **query_params|
139
+ klass.list_by_uri(uri: url, headers: headers, query_params: query_params, customer_access_token: customer_access_token)
140
+ end
135
141
  end
136
142
  else
137
143
  resource = key
138
144
  singular_resource = resource[0..-2]
139
145
  klass = relationship_klass(singular_resource)
140
- method_name = Ibanity::Util.underscore(resource)
141
- define_singleton_method(method_name) do |headers: nil, **query_params|
142
- klass.list_by_uri(uri: url, headers: headers, query_params: query_params, customer_access_token: customer_access_token)
146
+ unless klass.nil?
147
+ method_name = Ibanity::Util.underscore(resource)
148
+ define_singleton_method(method_name) do |headers: nil, **query_params|
149
+ klass.list_by_uri(uri: url, headers: headers, query_params: query_params, customer_access_token: customer_access_token)
150
+ end
143
151
  end
144
152
  end
145
153
  end
@@ -159,7 +167,11 @@ module Ibanity
159
167
  Object.const_get(self.class.to_s.split("::")[0...-1].join("::"))
160
168
  end
161
169
 
162
- enclosing_module.const_get(camelized_name)
170
+ begin
171
+ enclosing_module.const_get(camelized_name)
172
+ rescue => e
173
+ nil
174
+ end
163
175
  end
164
176
  end
165
177
  end
@@ -0,0 +1,10 @@
1
+ module Ibanity
2
+ module PontoConnect
3
+ class IntegrationAccount < Ibanity::BaseResource
4
+ def self.list(client_access_token:, **query_params)
5
+ uri = Ibanity.ponto_connect_api_schema["integrationAccounts"].sub("{integrationAccountId}", "")
6
+ list_by_uri(uri: uri, query_params: query_params, customer_access_token: client_access_token)
7
+ end
8
+ end
9
+ end
10
+ end
@@ -18,6 +18,12 @@ module Ibanity
18
18
 
19
19
  class TransactionsUpdated < Ibanity::BaseResource
20
20
  end
21
+
22
+ class PendingTransactionsCreated < Ibanity::BaseResource
23
+ end
24
+
25
+ class PendingTransactionsUpdated < Ibanity::BaseResource
26
+ end
21
27
  end
22
28
  end
23
29
  end
@@ -0,0 +1,27 @@
1
+ module Ibanity
2
+ module Xs2a
3
+ class PendingTransaction < Ibanity::BaseResource
4
+ def self.list(financial_institution_id: nil, account_id: nil, synchronization_id: nil, customer_access_token:, headers: nil, **query_params)
5
+ uri = if synchronization_id
6
+ Ibanity.xs2a_api_schema["customer"]["synchronization"]["updatedPendingTransactions"]
7
+ .sub("{synchronizationId}", synchronization_id)
8
+ else
9
+ Ibanity.xs2a_api_schema["customer"]["financialInstitution"]["pendingTransactions"]
10
+ .sub("{financialInstitutionId}", financial_institution_id)
11
+ .sub("{accountId}", account_id)
12
+ .sub("{pendingTransactionId}", "")
13
+ end
14
+
15
+ list_by_uri(uri: uri, query_params: query_params, customer_access_token: customer_access_token, headers: headers)
16
+ end
17
+
18
+ def self.find(id:, financial_institution_id:, account_id:, customer_access_token:)
19
+ uri = Ibanity.xs2a_api_schema["customer"]["financialInstitution"]["pendingTransactions"]
20
+ .sub("{financialInstitutionId}", financial_institution_id)
21
+ .sub("{accountId}", account_id)
22
+ .sub("{pendingTransactionId}", id)
23
+ find_by_uri(uri: uri, customer_access_token: customer_access_token)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,3 +1,3 @@
1
1
  module Ibanity
2
- VERSION = "2.2"
2
+ VERSION = "2.3"
3
3
  end
data/lib/ibanity.rb CHANGED
@@ -15,6 +15,7 @@ require_relative "ibanity/api/base_resource"
15
15
  require_relative "ibanity/api/flat_resource"
16
16
  require_relative "ibanity/webhook"
17
17
  require_relative "ibanity/api/xs2a/account"
18
+ require_relative "ibanity/api/xs2a/pending_transaction"
18
19
  require_relative "ibanity/api/xs2a/transaction"
19
20
  require_relative "ibanity/api/xs2a/holding"
20
21
  require_relative "ibanity/api/xs2a/batch_synchronization"
@@ -62,6 +63,7 @@ require_relative "ibanity/api/ponto_connect/sandbox/financial_institution_transa
62
63
  require_relative "ibanity/api/ponto_connect/onboarding_details"
63
64
  require_relative "ibanity/api/ponto_connect/reauthorization_request"
64
65
  require_relative "ibanity/api/ponto_connect/payment_activation_request"
66
+ require_relative "ibanity/api/ponto_connect/integration_account"
65
67
  require_relative "ibanity/api/webhooks/key"
66
68
  require_relative "ibanity/api/webhooks/xs2a"
67
69
  require_relative "ibanity/api/webhooks/ponto_connect"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibanity
3
3
  version: !ruby/object:Gem::Version
4
- version: '2.2'
4
+ version: '2.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ibanity
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-06 00:00:00.000000000 Z
11
+ date: 2023-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -89,6 +89,7 @@ files:
89
89
  - lib/ibanity/api/ponto_connect/bulk_payment.rb
90
90
  - lib/ibanity/api/ponto_connect/financial_institution.rb
91
91
  - lib/ibanity/api/ponto_connect/integration.rb
92
+ - lib/ibanity/api/ponto_connect/integration_account.rb
92
93
  - lib/ibanity/api/ponto_connect/onboarding_details.rb
93
94
  - lib/ibanity/api/ponto_connect/payment.rb
94
95
  - lib/ibanity/api/ponto_connect/payment_activation_request.rb
@@ -120,6 +121,7 @@ files:
120
121
  - lib/ibanity/api/xs2a/holding.rb
121
122
  - lib/ibanity/api/xs2a/payment_initiation_request.rb
122
123
  - lib/ibanity/api/xs2a/payment_initiation_request_authorization.rb
124
+ - lib/ibanity/api/xs2a/pending_transaction.rb
123
125
  - lib/ibanity/api/xs2a/periodic_payment_initiation_request.rb
124
126
  - lib/ibanity/api/xs2a/periodic_payment_initiation_request_authorization.rb
125
127
  - lib/ibanity/api/xs2a/synchronization.rb