ibanity 2.2 → 2.3

Sign up to get free protection for your applications and to get access to all the features.
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