unit_ruby_sdk 1.2.0 → 1.4.0

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: 6886c703f37b77fbd4ccc6e174cf0c79b83c588c53f0cfaaa6a1503598fc1fbd
4
- data.tar.gz: 0371acc6dc064fb9bf8969d10839cbe915e23772bb088493bf889abfeee50244
3
+ metadata.gz: 4427f4ca95ba8cf893f2e7c9ff5c21605419518429095a8aff3a41cd8876fed9
4
+ data.tar.gz: 672fd892ed734631361b0f94b52b3ca95bc88780a6f4f9942b278c956526f245
5
5
  SHA512:
6
- metadata.gz: 11d43e7bdaa9d8af5b2f3ac73823576773a784e9bf098d6fb232c08cbb5d76ac7de441da062ed33645c7804c2f19a897a4f0e8cdc1309f6b2b146c249c8edd0c
7
- data.tar.gz: b8077c7600d42b3396a2f0b5437edde30b1e3d09899df5e0d5ebec0761822a3a8bbcd3b83cc9706245f3a02c26d3b4e0c0481ef19410874eed952292584464c7
6
+ metadata.gz: bef4edade650df1097bda85a10b7d81c614a4dc0d9e05247335e25d079a00fb2da81b71fd440963bd7bce69fede707bafd2c5c56230725dc9998b2ffdc8418af
7
+ data.tar.gz: a5db0ecc8a1baa2a2d48f523f4e4e05ad8dc98c58ba9da7fb82bd4acd8be4ef22e1502607f764eec055bdc92e2b3b947fef9b479f8ac83841725c90bacc14c5a
data/README.md CHANGED
@@ -262,7 +262,7 @@ puts counterparty["id"]
262
262
  response = Unit::RecurringPayment.create_recurring_credit_book_payment(account_id: "27573", counterparty_id: "36099", amount: 1000,
263
263
  description: "test payme", schedule: schedule)
264
264
  recurring_payment = response.data
265
- puts recurring_payment.id
265
+ puts recurring_payment["id"]
266
266
  ```
267
267
 
268
268
 
@@ -313,9 +313,22 @@ response = Unit::Repayment.create_book_repayment(
313
313
  tags: { purpose: "test" },
314
314
  idempotency_key: "3a1a33be-4e12-4603-9ed0-820922389fb8")
315
315
  book_repayment = response.data
316
- puts book_repayment.id
316
+ puts book_repayment["id"]
317
317
  ```
318
318
 
319
+ ### Creating a control agreement
320
+ ```ruby
321
+ response = Unit::Account::DACA.activate_control_agreement(account_id: "1234")
322
+ control_agreement = response.data
323
+ puts control_agreement["id"]
324
+ ```
325
+
326
+ ### Get a check payment by id
327
+ ```ruby
328
+ response = Unit::CheckPayment.get_payment(payment_id: "199")
329
+ check_payment = response.data
330
+ puts check_payment["id"]
331
+ ```
319
332
  ### Logging Errors
320
333
 
321
334
  ### Handling Response
@@ -10,6 +10,30 @@ module Unit
10
10
  module Resource
11
11
  class AccountResource < Unit::Resource::BaseResource
12
12
  class << self
13
+ # Enter a control agreement by calling Unit's API
14
+ # @param account_id [String]
15
+ # @return [UnitResponse, UnitError]
16
+ def enter_control_agreement(account_id)
17
+ response = HttpHelper.post("#{api_url}/accounts/#{account_id}/enter-daca", headers: headers)
18
+ response_handler(response)
19
+ end
20
+
21
+ # Activate a control agreement by calling Unit's API
22
+ # @param account_id [String]
23
+ # @return [UnitResponse, UnitError]
24
+ def activate_control_agreement(account_id)
25
+ response = HttpHelper.post("#{api_url}/accounts/#{account_id}/activate-daca", headers: headers)
26
+ response_handler(response)
27
+ end
28
+
29
+ # Deactivate a control agreement by calling Unit's API
30
+ # @param account_id [String]
31
+ # @return [UnitResponse, UnitError]
32
+ def deactivate_control_agreement(account_id)
33
+ response = HttpHelper.post("#{api_url}/accounts/#{account_id}/deactivate-daca", headers: headers)
34
+ response_handler(response)
35
+ end
36
+
13
37
  # Create a new account by calling Unit's API
14
38
  # @param request [CreateDepositAccountRequest] request
15
39
  # @return [UnitResponse, UnitError]
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "./base_resource"
4
+ require_relative "../utils/http_helper"
5
+ require "json"
6
+
7
+ # class for creating request for check payments to Unit API and parsing responses
8
+ # @see https://docs.unit.co/check-payments
9
+ module Unit
10
+ module Resource
11
+ class CheckPaymentResource < Unit::Resource::BaseResource
12
+ class << self
13
+ # Get a check payment by id by calling Unit's API
14
+ # @param params [GetRequest]
15
+ # @return [UnitResponse, UnitError]
16
+ def get(params)
17
+ payload = params.to_hash
18
+ response = HttpHelper.get("#{api_url}/check-payments/#{params.payment_id}", params: payload, headers: headers)
19
+ response_handler(response)
20
+ end
21
+
22
+ # Get a list of check payments by calling Unit's API
23
+ # @param params [ListCheckPaymentParams]
24
+ # @return [UnitResponse, UnitError]
25
+ def list(params = nil)
26
+ response = HttpHelper.get("#{api_url}/check-payments", params: params.to_hash, headers: headers)
27
+ response_handler(response)
28
+ end
29
+
30
+ # Get a check payment image by calling Unit's API
31
+ # @param request [GetImageRequest]
32
+ # @return [UnitResponse, UnitError]
33
+ def get_image(request)
34
+ side = request.is_front_side ? "front" : "back"
35
+ response = HttpHelper.get("#{api_url}/check-payments/#{request.payment_id}/#{side}", headers: headers, response_type: "image")
36
+ file_response_handler(response)
37
+ end
38
+
39
+ # Return a check payment by calling Unit's API
40
+ # @param request [ReturnCheckPaymentRequest]
41
+ # @return [UnitResponse, UnitError]
42
+ def return_payment(request)
43
+ payload = request.to_json_api
44
+ response = HttpHelper.post("#{api_url}/check-payments/#{request.payment_id}/return", body: payload, headers: headers)
45
+ response_handler(response)
46
+ end
47
+
48
+ # Approve Check Payment Additional Verification by calling Unit's API
49
+ # @param payment_id [String]
50
+ # @return [UnitResponse, UnitError]
51
+ def approve_payment_verification(payment_id)
52
+ payload = { data: { type: "additionalVerification" } }.to_json
53
+ response = HttpHelper.post("#{api_url}/check-payments/#{payment_id}/approve", body: payload, headers: headers)
54
+ response_handler(response)
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "./base_resource"
4
+ require_relative "../utils/http_helper"
5
+ require "json"
6
+
7
+ # class for creating request for institutions to Unit API and parsing responses
8
+ # @see https://docs.unit.co/institutions/
9
+ module Unit
10
+ module Resource
11
+ class InstitutionResource < Unit::Resource::BaseResource
12
+ class << self
13
+ # Get an institution by routing number by calling Unit's API
14
+ # @param routing_number [String]
15
+ # @return [UnitResponse, UnitError]
16
+ def get_institution(routing_number)
17
+ response = HttpHelper.get("#{api_url}/institutions/#{routing_number}", headers: headers)
18
+ response_handler(response)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -261,5 +261,30 @@ module Unit
261
261
  end
262
262
  end
263
263
  end
264
+
265
+ module DACA
266
+ class << self
267
+ # Enter DACA
268
+ # @see https://docs.unit.co/deposit-account-control-agreement/#enter-daca
269
+ # @param account_id [String]
270
+ def enter_control_agreement(account_id:)
271
+ Unit::Resource::AccountResource.enter_control_agreement(account_id)
272
+ end
273
+
274
+ # Activate DACA
275
+ # @see https://docs.unit.co/deposit-account-control-agreement/#activate-daca
276
+ # @param account_id [String]
277
+ def activate_control_agreement(account_id:)
278
+ Unit::Resource::AccountResource.activate_control_agreement(account_id)
279
+ end
280
+
281
+ # Deactivate DACA
282
+ # @see https://docs.unit.co/deposit-account-control-agreement/#deactivate-daca
283
+ # @param account_id [String]
284
+ def deactivate_control_agreement(account_id:)
285
+ Unit::Resource::AccountResource.deactivate_control_agreement(account_id)
286
+ end
287
+ end
288
+ end
264
289
  end
265
290
  end
@@ -25,7 +25,8 @@ module Unit
25
25
  type: "depositAccount",
26
26
  attributes: {
27
27
  depositProduct: deposit_product,
28
- tags: tags
28
+ tags: tags,
29
+ idempotencyKey: idempotency_key
29
30
  },
30
31
  relationships: relationships
31
32
  }
@@ -77,6 +77,7 @@ module Unit
77
77
  soleProprietorship: sole_proprietorship,
78
78
  passport: passport,
79
79
  nationality: nationality,
80
+ device_fingerprints: device_fingerprints,
80
81
  idempotencyKey: idempotency_key,
81
82
  tags: tags,
82
83
  jwtSubject: jwt_subject,
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Unit
4
+ module CheckPayment
5
+ CHECK_PAYMENT_LIMIT = 100
6
+ CHECK_PAYMENT_OFFSET = 0
7
+
8
+ autoload :GetRequest, "unit/models/check_payment/get_request"
9
+ autoload :ListPaymentParams, "unit/models/check_payment/list_check_payment_params"
10
+ autoload :GetImageRequest, "unit/models/check_payment/get_image_request"
11
+ autoload :ReturnCheckPaymentRequest, "unit/models/check_payment/return_check_payment_request"
12
+
13
+ class << self
14
+ # Get a check payment by id
15
+ # @see https://docs.unit.co/check-payments#get-specific-check-payment
16
+ # @param payment_id [String]
17
+ # @param include [Array<String>] - optional
18
+ def get_payment(payment_id:, include: nil)
19
+ request = GetRequest.new(payment_id, include)
20
+ Unit::Resource::CheckPaymentResource.get(request)
21
+ end
22
+
23
+ # Request to list check payments
24
+ # @see https://docs.unit.co/check-payments#list-check-payments
25
+ # @param limit [Integer] - optional
26
+ # @param offset [Integer] - optional
27
+ # @param account_id [String] - optional
28
+ # @param customer_id [String] - optional
29
+ # @param tags [Hash] - optional
30
+ # @param sort [String] - optional
31
+ # @param since [String] - optional
32
+ # @param _until [String] - optional
33
+ # @param status [Array<String>] - optional
34
+ # @param from_amount [String] - optional
35
+ # @param to_amount [String] - optional
36
+ # @param check_number [String] - optional
37
+ # @param include [Array<String>] - optional
38
+ def list_payment(limit: CHECK_PAYMENT_LIMIT, offset: CHECK_PAYMENT_OFFSET, account_id: nil,
39
+ customer_id: nil, tags: nil, sort: nil, since: nil, _until: nil, status: nil,
40
+ from_amount: nil, to_amount: nil, check_number: nil, include: nil)
41
+
42
+ request = ListPaymentParams.new(limit, offset, account_id, customer_id, tags, sort, since, _until,
43
+ status, from_amount, to_amount, check_number, include)
44
+ Unit::Resource::CheckPaymentResource.list(request)
45
+ end
46
+
47
+ # Get a check deposit image front or back side
48
+ # @see https://docs.unit.co/check-payments#get-specific-check-payment-front-image
49
+ # @see https://docs.unit.co/check-payments#get-specific-check-payment-back-image
50
+ # @param payment_id [String]
51
+ # @param is_front_side [Boolean] - optional
52
+ def get_image(payment_id:, is_front_side: true)
53
+ request = GetImageRequest.new(payment_id, is_front_side: is_front_side)
54
+ Unit::Resource::CheckPaymentResource.get_image(request)
55
+ end
56
+
57
+ # Return check payment by id
58
+ # @see https://docs.unit.co/check-payments#return-check-payment
59
+ # @param payment_id [String]
60
+ # @param return_reason_code [String]
61
+ def return_payment(payment_id:, return_reason_code:)
62
+ request = ReturnCheckPaymentRequest.new(payment_id, return_reason_code)
63
+ Unit::Resource::CheckPaymentResource.return_payment(request)
64
+ end
65
+
66
+ # Approve Check Payment Additional Verification
67
+ # @see https://docs.unit.co/check-payments#approve-check-payment-additional-verification
68
+ # @param payment_id [String]
69
+ def approve_payment_verification(payment_id:)
70
+ Unit::Resource::CheckPaymentResource.approve_payment_verification(payment_id)
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Request to get a check deposit image
4
+ # @see https://docs.unit.co/check-payments#get-specific-check-payment-front-image
5
+ # @see https://docs.unit.co/check-payments#get-specific-check-payment-back-image
6
+ module Unit
7
+ module CheckPayment
8
+ class GetImageRequest
9
+ attr_reader :payment_id, :is_front_side
10
+
11
+ # @param payment_id [String]
12
+ # @param is_front_side [Boolean] - optional
13
+ def initialize(payment_id, is_front_side: true)
14
+ @payment_id = payment_id
15
+ @is_front_side = is_front_side
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Request to get check payment by id
4
+ # @see https://docs.unit.co/check-payments#get-specific-check-payment
5
+ module Unit
6
+ module CheckPayment
7
+ class GetRequest
8
+ attr_reader :payment_id, :include
9
+
10
+ # @param payment_id [String]
11
+ # @param include [Array<String>] - optional
12
+ def initialize(payment_id, include = nil)
13
+ @payment_id = payment_id
14
+ @include = include
15
+ end
16
+
17
+ def to_hash
18
+ { include: include&.join(",") }.compact
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Request to list check payments
4
+ # @see https://docs.unit.co/check-payments#list-check-payments
5
+ module Unit
6
+ module CheckPayment
7
+ class ListPaymentParams
8
+ attr_reader :limit, :offset, :account_id, :customer_id, :tags, :sort,
9
+ :since, :_until, :status, :from_amount, :to_amount, :check_number, :include
10
+
11
+ # @param limit [Integer] - optional
12
+ # @param offset [Integer] - optional
13
+ # @param account_id [String] - optional
14
+ # @param customer_id [String] - optional
15
+ # @param tags [Hash] - optional
16
+ # @param sort [String] - optional
17
+ # @param since [String] - optional
18
+ # @param _until [String] - optional
19
+ # @param status [Array<String>] - optional
20
+ # @param from_amount [String] - optional
21
+ # @param to_amount [String] - optional
22
+ # @param check_number [String] - optional
23
+ # @param include [Array<String>] - optional
24
+ def initialize(limit = CHECK_PAYMENT_LIMIT, offset = CHECK_PAYMENT_OFFSET, account_id = nil,
25
+ customer_id = nil, tags = nil, sort = nil, since = nil, _until = nil, status = nil, from_amount = nil,
26
+ to_amount = nil, check_number = nil, include = nil)
27
+ @limit = limit
28
+ @offset = offset
29
+ @account_id = account_id
30
+ @customer_id = customer_id
31
+ @tags = tags
32
+ @sort = sort
33
+ @since = since
34
+ @until = _until
35
+ @status = status
36
+ @from_amount = from_amount
37
+ @to_amount = to_amount
38
+ @check_number = check_number
39
+ @include = include
40
+ end
41
+
42
+ def to_hash
43
+ params = {
44
+ "page[limit]": limit,
45
+ "page[offset]": offset,
46
+ "filter[accountId]": account_id,
47
+ "filter[customerId]": customer_id,
48
+ "filter[tags]": tags,
49
+ "sort": sort,
50
+ "filter[since]": since,
51
+ "filter[until]": _until,
52
+ "filter[fromAmount]": from_amount,
53
+ "filter[toAmount]": to_amount,
54
+ "filter[checkNumber]": check_number,
55
+ "include": include&.join(",")
56
+ }
57
+ status&.each_with_index&.map do |val, index|
58
+ params.merge!({ "filter[status][#{index}]": val })
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Request to return check payment by id
4
+ # @see https://docs.unit.co/check-payments#return-check-payment
5
+ module Unit
6
+ module CheckPayment
7
+ class ReturnCheckPaymentRequest
8
+ attr_reader :payment_id, :return_reason_code
9
+
10
+ # @param payment_id [String]
11
+ # @param return_reason_code [String]
12
+ def initialize(payment_id, return_reason_code)
13
+ @payment_id = payment_id
14
+ @return_reason_code = return_reason_code
15
+ end
16
+
17
+ def to_json_api
18
+ payload = {
19
+ data: {
20
+ type: "checkPaymentReturn",
21
+ attributes: { returnReasonCode: return_reason_code }
22
+ }
23
+ }
24
+ payload[:data][:attributes].compact!
25
+ payload.to_json
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Unit
4
+ module Institution
5
+ class << self
6
+ # Get institution by routing number
7
+ # @see https://docs.unit.co/institutions/#get-institution-by-routingNumber
8
+ # @param routing_number [String]
9
+ def get_institution(routing_number:)
10
+ Unit::Resource::InstitutionResource.get_institution(routing_number)
11
+ end
12
+ end
13
+ end
14
+ end
data/lib/unit/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Unit
4
- VERSION = "1.2.0"
4
+ VERSION = "1.4.0"
5
5
  end
data/lib/unit_ruby_sdk.rb CHANGED
@@ -10,12 +10,15 @@ module Unit
10
10
  autoload :ApiToken, "unit/models/api_token/api_token"
11
11
  autoload :Payment, "unit/models/payment/payment"
12
12
  autoload :ReceivedPayment, "unit/models/received_payment/received_payment"
13
+ autoload :CheckPayment, "unit/models/check_payment/check_payment"
13
14
  autoload :Transaction, "unit/models/transaction/transaction"
14
15
  autoload :Card, "unit/models/card/card"
15
16
  autoload :Statement, "unit/models/statement/statement"
16
17
  autoload :AtmLocation, "unit/models/atm_location/atm_location"
17
18
  autoload :CheckDeposit, "unit/models/check_deposit/check_deposit"
18
19
  autoload :Counterparty, "unit/models/counterparty/counterparty"
20
+ autoload :RecurringPayment, "unit/models/recurring_payment/recurring_payment"
21
+ autoload :Institution, "unit/models/institution/institution"
19
22
  autoload :Repayment, "unit/models/repayment/repayment"
20
23
  autoload :Event, "unit/models/event/event"
21
24
  autoload :Webhook, "unit/models/webhook/webhook"
@@ -33,12 +36,15 @@ module Unit
33
36
  autoload :ApiTokenResource, "unit/api_resources/api_token_resource"
34
37
  autoload :PaymentResource, "unit/api_resources/payment_resource"
35
38
  autoload :ReceivedPaymentResource, "unit/api_resources/received_payment_resource"
39
+ autoload :CheckPaymentResource, "unit/api_resources/check_payment_resource"
36
40
  autoload :TransactionResource, "unit/api_resources/transaction_resource"
37
41
  autoload :CardResource, "unit/api_resources/card_resource"
38
42
  autoload :StatementResource, "unit/api_resources/statement_resource"
39
43
  autoload :AtmLocationResource, "unit/api_resources/atm_location_resource"
40
44
  autoload :CheckDepositResource, "unit/api_resources/check_deposit_resource"
41
45
  autoload :CounterpartyResource, "unit/api_resources/counterparty_resource"
46
+ autoload :RecurringPaymentResource, "unit/api_resources/recurring_payment_resource"
47
+ autoload :InstitutionResource, "unit/api_resources/institution_resource"
42
48
  autoload :RepaymentResource, "unit/api_resources/repayment_resource"
43
49
  autoload :EventResource, "unit/api_resources/event_resource"
44
50
  autoload :WebhookResource, "unit/api_resources/webhook_resource"
@@ -67,6 +73,7 @@ module Unit
67
73
  autoload :RestrictedResource, "unit/types/restricted_resource"
68
74
  autoload :DocumentFileType, "unit/types/document_file_type"
69
75
  autoload :Coordinates, "unit/types/coordinates"
76
+ autoload :CreateSchedule, "unit/types/create_schedule"
70
77
  autoload :TrustContact, "unit/types/trust_contact"
71
78
  autoload :Trustee, "unit/types/trustee"
72
79
  autoload :Grantor, "unit/types/grantor"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unit_ruby_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Unit
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-31 00:00:00.000000000 Z
11
+ date: 2023-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: factory_bot_rails
@@ -104,10 +104,12 @@ files:
104
104
  - lib/unit/api_resources/base_resource.rb
105
105
  - lib/unit/api_resources/card_resource.rb
106
106
  - lib/unit/api_resources/check_deposit_resource.rb
107
+ - lib/unit/api_resources/check_payment_resource.rb
107
108
  - lib/unit/api_resources/counterparty_resource.rb
108
109
  - lib/unit/api_resources/customer_resource.rb
109
110
  - lib/unit/api_resources/event_resource.rb
110
111
  - lib/unit/api_resources/fee_resource.rb
112
+ - lib/unit/api_resources/institution_resource.rb
111
113
  - lib/unit/api_resources/payment_resource.rb
112
114
  - lib/unit/api_resources/received_payment_resource.rb
113
115
  - lib/unit/api_resources/recurring_payment_resource.rb
@@ -180,6 +182,11 @@ files:
180
182
  - lib/unit/models/check_deposit/list_deposit_params.rb
181
183
  - lib/unit/models/check_deposit/patch_deposit_request.rb
182
184
  - lib/unit/models/check_deposit/upload_image_request.rb
185
+ - lib/unit/models/check_payment/check_payment.rb
186
+ - lib/unit/models/check_payment/get_image_request.rb
187
+ - lib/unit/models/check_payment/get_request.rb
188
+ - lib/unit/models/check_payment/list_check_payment_params.rb
189
+ - lib/unit/models/check_payment/return_check_payment_request.rb
183
190
  - lib/unit/models/counterparty/counterparty.rb
184
191
  - lib/unit/models/counterparty/create_counterparty_request.rb
185
192
  - lib/unit/models/counterparty/create_with_plaid_token_request.rb
@@ -197,6 +204,7 @@ files:
197
204
  - lib/unit/models/fee/create_fee_request.rb
198
205
  - lib/unit/models/fee/fee.rb
199
206
  - lib/unit/models/fee/reverse_fee_request.rb
207
+ - lib/unit/models/institution/institution.rb
200
208
  - lib/unit/models/payment/batch_release_request_builder.rb
201
209
  - lib/unit/models/payment/bulk_payment_request.rb
202
210
  - lib/unit/models/payment/create_ach_payment_inline_request.rb
@@ -290,7 +298,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
298
  - !ruby/object:Gem::Version
291
299
  version: '0'
292
300
  requirements: []
293
- rubygems_version: 3.3.26
301
+ rubygems_version: 3.4.10
294
302
  signing_key:
295
303
  specification_version: 4
296
304
  summary: This library provides a Ruby wrapper to http://unit.co API. See https://docs.unit.co/