starkinfra 0.4.0 → 0.5.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 +4 -4
- data/lib/brcodepreview/brcodepreview.rb +2 -5
- data/lib/cardmethod/cardmethod.rb +2 -2
- data/lib/creditholmes/creditholmes.rb +8 -11
- data/lib/creditnote/creditnote.rb +10 -11
- data/lib/creditnote/invoice/description.rb +3 -5
- data/lib/creditnote/invoice/discount.rb +3 -4
- data/lib/creditnote/invoice/invoice.rb +5 -6
- data/lib/creditnote/log.rb +8 -9
- data/lib/creditnote/transfer.rb +4 -5
- data/lib/creditpreview/creditnotepreview.rb +2 -3
- data/lib/creditpreview/creditpreview.rb +3 -4
- data/lib/creditsigner/creditsigner.rb +3 -6
- data/lib/dynamicbrcode/dynamicbrcode.rb +17 -19
- data/lib/error.rb +7 -40
- data/lib/event/attempt.rb +7 -8
- data/lib/event/event.rb +8 -11
- data/lib/individualdocument/individualdocument.rb +7 -8
- data/lib/individualdocument/log.rb +8 -9
- data/lib/individualidentity/individualidentity.rb +7 -8
- data/lib/individualidentity/log.rb +8 -9
- data/lib/issuingbalance/issuingbalance.rb +2 -3
- data/lib/issuingcard/issuingcard.rb +9 -10
- data/lib/issuingcard/log.rb +8 -9
- data/lib/issuingdesign/issuingdesign.rb +5 -6
- data/lib/issuingembossingkit/issuingembossingkit.rb +4 -5
- data/lib/issuingembossingrequest/issuingembossingrequest.rb +8 -9
- data/lib/issuingembossingrequest/log.rb +8 -9
- data/lib/issuingholder/issuingholder.rb +9 -10
- data/lib/issuingholder/log.rb +8 -9
- data/lib/issuinginvoice/issuinginvoice.rb +8 -9
- data/lib/issuinginvoice/log.rb +8 -9
- data/lib/issuingproduct/issuingproduct.rb +3 -4
- data/lib/issuingpurchase/issuingpurchase.rb +32 -24
- data/lib/issuingpurchase/log.rb +8 -9
- data/lib/issuingrestock/issuingrestock.rb +8 -9
- data/lib/issuingrestock/log.rb +8 -9
- data/lib/issuingrule/issuingrule.rb +6 -7
- data/lib/issuingstock/issuingstock.rb +8 -9
- data/lib/issuingstock/log.rb +8 -9
- data/lib/issuingtransaction/issuingtransaction.rb +7 -8
- data/lib/issuingwithdrawal/issuingwithdrawal.rb +8 -9
- data/lib/merchantcategory/merchantcategory.rb +2 -2
- data/lib/merchantcountry/merchantcountry.rb +2 -2
- data/lib/pixbalance/pixbalance.rb +2 -3
- data/lib/pixchargeback/log.rb +8 -9
- data/lib/pixchargeback/pixchargeback.rb +8 -9
- data/lib/pixclaim/log.rb +8 -9
- data/lib/pixclaim/pixclaim.rb +8 -9
- data/lib/pixdirector/pixdirector.rb +2 -2
- data/lib/pixdomain/certificate.rb +2 -2
- data/lib/pixdomain/pixdomain.rb +3 -3
- data/lib/pixinfraction/log.rb +8 -9
- data/lib/pixinfraction/pixinfraction.rb +8 -9
- data/lib/pixkey/log.rb +8 -9
- data/lib/pixkey/pixkey.rb +8 -9
- data/lib/pixrequest/log.rb +8 -9
- data/lib/pixrequest/pixrequest.rb +9 -10
- data/lib/pixreversal/log.rb +7 -9
- data/lib/pixreversal/pixreversal.rb +9 -10
- data/lib/pixstatement/pixstatement.rb +6 -7
- data/lib/request/request.rb +152 -0
- data/lib/starkinfra.rb +14 -6
- data/lib/staticbrcode/staticbrcode.rb +8 -9
- data/lib/utils/parse.rb +23 -42
- data/lib/utils/rest.rb +211 -110
- data/lib/webhook/webhook.rb +2 -3
- metadata +6 -21
- data/lib/key.rb +0 -33
- data/lib/user/organization.rb +0 -54
- data/lib/user/project.rb +0 -37
- data/lib/user/user.rb +0 -20
- data/lib/utils/api.rb +0 -89
- data/lib/utils/bacenid.rb +0 -19
- data/lib/utils/cache.rb +0 -10
- data/lib/utils/case.rb +0 -21
- data/lib/utils/checks.rb +0 -100
- data/lib/utils/endtoendid.rb +0 -11
- data/lib/utils/environment.rb +0 -14
- data/lib/utils/request.rb +0 -79
- data/lib/utils/resource.rb +0 -13
- data/lib/utils/returnid.rb +0 -11
- data/lib/utils/sub_resource.rb +0 -27
- data/lib/utils/url.rb +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c35da5e6496d5271ac8467f26b02a3776d21dec476d4eb526d7a8e503f8bbc9
|
4
|
+
data.tar.gz: 0115cfd4453a7fcf939a3601611e6e1b96ff78e00f310c7c5d25df4ef42dbcb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 95db214920f662bab0fcfaa10353e971a75bf32822402c44d071e1c15bde66e3a607b90f887a6b709d3b97faca5ed3496c1d757534f819e684493da145cf1069
|
7
|
+
data.tar.gz: 94eae035e2920bf65d23074dad0179c9d90b72b78f0b5d8c66a8fadc310c9c110f33ef02a6d1ee2ab80ec9329fd75be5b037165afe656a9173a939daa2fec6b5
|
@@ -1,9 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
require('starkcore')
|
3
3
|
require_relative('../utils/rest')
|
4
|
-
require_relative('../utils/parse')
|
5
|
-
require_relative('../utils/checks')
|
6
|
-
require_relative('../utils/resource')
|
7
4
|
|
8
5
|
module StarkInfra
|
9
6
|
# # BrcodePreview object
|
@@ -38,7 +35,7 @@ module StarkInfra
|
|
38
35
|
# - scheduled [DateTime]: date of payment execution. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0).
|
39
36
|
# - status [string]: Payment status. ex: 'active', 'paid', 'canceled' or 'unknown'
|
40
37
|
# - tax_id [string]: Payment receiver tax ID. ex: '012.345.678-90'
|
41
|
-
class BrcodePreview <
|
38
|
+
class BrcodePreview < StarkCore::Utils::Resource
|
42
39
|
attr_reader :id, :payer_id, :end_to_end_id, :account_number, :account_type, :amount, :amount_type, :bank_code, :branch_code, :cash_amount,
|
43
40
|
:cashier_bank_code, :cashier_type, :discount_amount, :fine_amount, :key_id, :interest_amount, :name,
|
44
41
|
:nominal_amount, :reconciliation_id, :reduction_amount, :scheduled, :status, :tax_id
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative('../utils/rest')
|
4
|
-
|
4
|
+
require('starkcore')
|
5
5
|
|
6
6
|
module StarkInfra
|
7
7
|
# # CardMethod object
|
@@ -14,7 +14,7 @@ module StarkInfra
|
|
14
14
|
# Attributes (return-only):
|
15
15
|
# - name [string]: method's name. ex: 'token'
|
16
16
|
# - number [string]: method's number. ex: '81'
|
17
|
-
class CardMethod <
|
17
|
+
class CardMethod < StarkCore::Utils::SubResource
|
18
18
|
attr_reader :code, :name, :number
|
19
19
|
def initialize(code:, name: nil, number: nil)
|
20
20
|
@code = code
|
@@ -1,9 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
require('starkcore')
|
3
3
|
require_relative('../utils/rest')
|
4
|
-
require_relative('../utils/parse')
|
5
|
-
require_relative('../utils/checks')
|
6
|
-
require_relative('../utils/resource')
|
7
4
|
|
8
5
|
module StarkInfra
|
9
6
|
# # CreditHolmes object
|
@@ -29,7 +26,7 @@ module StarkInfra
|
|
29
26
|
# - status [string]: current status of the CreditHolmes. ex: "created", "failed", "success"
|
30
27
|
# - created [DateTime]: creation datetime for the CreditHolmes. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
31
28
|
# - updated [DateTime]: latest update datetime for the CreditHolmes. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
32
|
-
class CreditHolmes <
|
29
|
+
class CreditHolmes < StarkCore::Utils::Resource
|
33
30
|
attr_reader :tax_id, :competence, :tags, :id, :result, :status, :updated, :created
|
34
31
|
def initialize(tax_id:, competence: nil, tags: nil, id: nil, result: nil, status: nil, updated: nil, created: nil)
|
35
32
|
super(id)
|
@@ -39,8 +36,8 @@ module StarkInfra
|
|
39
36
|
@id = id
|
40
37
|
@result = result
|
41
38
|
@status = status
|
42
|
-
@created =
|
43
|
-
@updated =
|
39
|
+
@created = StarkCore::Utils::Checks.check_datetime(created)
|
40
|
+
@updated = StarkCore::Utils::Checks.check_datetime(updated)
|
44
41
|
end
|
45
42
|
|
46
43
|
# # Create CreditHolmes
|
@@ -91,8 +88,8 @@ module StarkInfra
|
|
91
88
|
# ## Return:
|
92
89
|
# - generator of CreditHolmes objects with updated attributes
|
93
90
|
def self.query(limit: nil, after: nil, before: nil, status: nil, tags: nil, ids: nil, user: nil)
|
94
|
-
after =
|
95
|
-
before =
|
91
|
+
after = StarkCore::Utils::Checks.check_date(after)
|
92
|
+
before = StarkCore::Utils::Checks.check_date(before)
|
96
93
|
StarkInfra::Utils::Rest.get_stream(
|
97
94
|
limit: limit,
|
98
95
|
after: after,
|
@@ -124,8 +121,8 @@ module StarkInfra
|
|
124
121
|
# - list of CreditHolmes objects with updated attributes
|
125
122
|
# - cursor to retrieve the next page of CreditHolmes objects
|
126
123
|
def self.page(cursor: nil, limit: nil, after: nil, before: nil, status: nil, tags: nil, ids: nil, user: nil)
|
127
|
-
after =
|
128
|
-
before =
|
124
|
+
after = StarkCore::Utils::Checks.check_date(after)
|
125
|
+
before = StarkCore::Utils::Checks.check_date(before)
|
129
126
|
StarkInfra::Utils::Rest.get_page(
|
130
127
|
cursor: cursor,
|
131
128
|
limit: limit,
|
@@ -1,14 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative('../utils/rest')
|
4
|
-
require_relative('../utils/parse')
|
5
|
-
require_relative('../utils/checks')
|
6
4
|
require_relative('invoice/invoice')
|
7
5
|
require_relative('invoice/discount')
|
8
|
-
require_relative('../utils/resource')
|
9
6
|
require_relative('invoice/description')
|
10
7
|
require_relative('../creditnote/transfer')
|
11
8
|
|
9
|
+
require('starkcore')
|
10
|
+
|
12
11
|
module StarkInfra
|
13
12
|
# # CreditNote object
|
14
13
|
#
|
@@ -55,7 +54,7 @@ module StarkInfra
|
|
55
54
|
# - interest [float]: yearly effective interest rate of the credit note, in percentage. ex: 12.5
|
56
55
|
# - created [DateTime]: creation datetime for the CreditNote. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
57
56
|
# - updated [DateTime]: latest update datetime for the CreditNote. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
58
|
-
class CreditNote <
|
57
|
+
class CreditNote < StarkCore::Utils::Resource
|
59
58
|
attr_reader :template_id, :name, :tax_id, :scheduled, :invoices, :payment, :signers, :external_id,
|
60
59
|
:street_line_1, :street_line_2, :district, :city, :state_code, :zip_code, :payment_type,
|
61
60
|
:nominal_amount, :amount, :rebate_amount, :tags, :expiration, :id, :document_id, :status,
|
@@ -93,8 +92,8 @@ module StarkInfra
|
|
93
92
|
@tax_amount = tax_amount
|
94
93
|
@nominal_interest = nominal_interest
|
95
94
|
@interest = interest
|
96
|
-
@created =
|
97
|
-
@updated =
|
95
|
+
@created = StarkCore::Utils::Checks.check_datetime(created)
|
96
|
+
@updated = StarkCore::Utils::Checks.check_datetime(updated)
|
98
97
|
|
99
98
|
payment_info = CreditNote.parse_payment(payment, payment_type)
|
100
99
|
@payment = payment_info['payment']
|
@@ -149,8 +148,8 @@ module StarkInfra
|
|
149
148
|
# ## Return:
|
150
149
|
# - generator of CreditNote objects with updated attributes
|
151
150
|
def self.query(limit: nil, after: nil, before: nil, status: nil, tags: nil, ids: nil, user: nil)
|
152
|
-
after =
|
153
|
-
before =
|
151
|
+
after = StarkCore::Utils::Checks.check_date(after)
|
152
|
+
before = StarkCore::Utils::Checks.check_date(before)
|
154
153
|
StarkInfra::Utils::Rest.get_stream(
|
155
154
|
limit: limit,
|
156
155
|
after: after,
|
@@ -182,8 +181,8 @@ module StarkInfra
|
|
182
181
|
# - list of CreditNote objects with updated attributes
|
183
182
|
# - cursor to retrieve the next page of CreditNote objects
|
184
183
|
def self.page(cursor: nil, limit: nil, after: nil, before: nil, status: nil, tags: nil, ids: nil, user: nil)
|
185
|
-
after =
|
186
|
-
before =
|
184
|
+
after = StarkCore::Utils::Checks.check_date(after)
|
185
|
+
before = StarkCore::Utils::Checks.check_date(before)
|
187
186
|
StarkInfra::Utils::Rest.get_page(
|
188
187
|
cursor: cursor,
|
189
188
|
limit: limit,
|
@@ -217,7 +216,7 @@ module StarkInfra
|
|
217
216
|
resource_maker = { 'transfer' => Transfer.resource[:resource_maker] }
|
218
217
|
if payment.is_a?(Hash)
|
219
218
|
begin
|
220
|
-
parsed_payment =
|
219
|
+
parsed_payment = StarkCore::Utils::API.from_api_json(resource_maker[payment_type], payment)
|
221
220
|
return { 'payment' => parsed_payment, 'payment_type' => payment_type }
|
222
221
|
|
223
222
|
rescue StandardError
|
@@ -1,8 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative('../../utils/api')
|
2
|
+
require('starkcore')
|
4
3
|
require_relative('../../utils/rest')
|
5
|
-
require_relative('../../utils/sub_resource')
|
6
4
|
|
7
5
|
module StarkInfra
|
8
6
|
|
@@ -15,7 +13,7 @@ module StarkInfra
|
|
15
13
|
#
|
16
14
|
# ## Parameters (optional):
|
17
15
|
# - value [string, default nil]: amount related to the described key. ex: 'R$100,00'
|
18
|
-
class Description <
|
16
|
+
class Description < StarkCore::Utils::SubResource
|
19
17
|
attr_reader :percentage, :due
|
20
18
|
def initialize(key:, value: nil)
|
21
19
|
@key = key
|
@@ -29,7 +27,7 @@ module StarkInfra
|
|
29
27
|
parsed_descriptions = []
|
30
28
|
descriptions.each do |description|
|
31
29
|
unless description.is_a? Description
|
32
|
-
description =
|
30
|
+
description = StarkCore::Utils::API.from_api_json(resource_maker, description)
|
33
31
|
end
|
34
32
|
parsed_descriptions << description
|
35
33
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require('starkcore')
|
4
4
|
require_relative('../../utils/rest')
|
5
|
-
require_relative('../../utils/sub_resource')
|
6
5
|
|
7
6
|
module StarkInfra
|
8
7
|
|
@@ -13,7 +12,7 @@ module StarkInfra
|
|
13
12
|
# ## Parameters (required):
|
14
13
|
# - percentage [float]: percentage of discount applied until specified due date.
|
15
14
|
# - due [DateTime or string]: due datetime for the discount. ex: '2020-03-10T10:30:00.000000+00:00' or DateTime.new(2020, 3, 10, 10, 30, 0, 0).
|
16
|
-
class Discount <
|
15
|
+
class Discount < StarkCore::Utils::SubResource
|
17
16
|
attr_reader :percentage, :due
|
18
17
|
def initialize(percentage:, due:)
|
19
18
|
@percentage = percentage
|
@@ -27,7 +26,7 @@ module StarkInfra
|
|
27
26
|
parsed_discounts = []
|
28
27
|
discounts.each do |discount|
|
29
28
|
unless discount.is_a? Discount
|
30
|
-
discount =
|
29
|
+
discount = StarkCore::Utils::API.from_api_json(resource_maker, discount)
|
31
30
|
end
|
32
31
|
parsed_discounts << discount
|
33
32
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require('starkcore')
|
4
4
|
require_relative('../../utils/rest')
|
5
|
-
require_relative('../../utils/sub_resource')
|
6
5
|
|
7
6
|
module StarkInfra
|
8
7
|
|
@@ -38,7 +37,7 @@ module StarkInfra
|
|
38
37
|
# - transaction_ids [list of strings]: ledger transaction ids linked to this Invoice (if there are more than one, all but the first are reversals or failed reversal chargebacks). ex: ['19827356981273']
|
39
38
|
# - created [DateTime]: creation datetime for the Invoice. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
40
39
|
# - updated [DateTime]: latest update datetime for the Invoice. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
41
|
-
class Invoice <
|
40
|
+
class Invoice < StarkCore::Utils::Resource
|
42
41
|
attr_reader :amount, :id, :due, :expiration, :tags, :descriptions, :name, :tax_id, :pdf, :link, :fine, :interest,
|
43
42
|
:nominal_amount, :fine_amount, :interest_amount, :discount_amount, :discounts, :brcode, :status, :fee,
|
44
43
|
:transaction_ids, :created, :updated
|
@@ -70,8 +69,8 @@ module StarkInfra
|
|
70
69
|
@status = status
|
71
70
|
@fee = fee
|
72
71
|
@transaction_ids = transaction_ids
|
73
|
-
@created =
|
74
|
-
@updated =
|
72
|
+
@created = StarkCore::Utils::Checks.check_datetime(created)
|
73
|
+
@updated = StarkCore::Utils::Checks.check_datetime(updated)
|
75
74
|
end
|
76
75
|
|
77
76
|
def self.parse_invoices(invoices)
|
@@ -81,7 +80,7 @@ module StarkInfra
|
|
81
80
|
parsed_invoices = []
|
82
81
|
invoices.each do |invoice|
|
83
82
|
unless invoice.is_a? Invoice
|
84
|
-
invoice =
|
83
|
+
invoice = StarkCore::Utils::API.from_api_json(resource_maker, invoice)
|
85
84
|
end
|
86
85
|
parsed_invoices << invoice
|
87
86
|
end
|
data/lib/creditnote/log.rb
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require('starkcore')
|
3
4
|
require_relative('creditnote')
|
4
5
|
require_relative('../utils/rest')
|
5
|
-
require_relative('../utils/checks')
|
6
|
-
require_relative('../utils/resource')
|
7
6
|
|
8
7
|
module StarkInfra
|
9
8
|
class CreditNote
|
@@ -19,14 +18,14 @@ module StarkInfra
|
|
19
18
|
# - errors [list of strings]: list of errors linked to this CreditNote event.
|
20
19
|
# - type [string]: type of the CreditNote event which triggered the log creation. Options: 'canceled', 'created', 'expired', 'failed', 'refunded', 'registered', 'sending', 'sent', 'signed', 'success'
|
21
20
|
# - created [DateTime]: creation datetime for the log. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
22
|
-
class Log <
|
21
|
+
class Log < StarkCore::Utils::Resource
|
23
22
|
attr_reader :id, :created, :type, :errors, :note
|
24
23
|
def initialize(id:, created:, type:, errors:, note:)
|
25
24
|
super(id)
|
26
25
|
@note = note
|
27
26
|
@errors = errors
|
28
27
|
@type = type
|
29
|
-
@created =
|
28
|
+
@created = StarkCore::Utils::Checks.check_datetime(created)
|
30
29
|
end
|
31
30
|
|
32
31
|
# # Retrieve a specific CreditNote::Log
|
@@ -60,8 +59,8 @@ module StarkInfra
|
|
60
59
|
# ## Return:
|
61
60
|
# - list of Log objects with updated attributes
|
62
61
|
def self.query(limit: nil, after: nil, before: nil, types: nil, note_ids: nil, user: nil)
|
63
|
-
after =
|
64
|
-
before =
|
62
|
+
after = StarkCore::Utils::Checks.check_date(after)
|
63
|
+
before = StarkCore::Utils::Checks.check_date(before)
|
65
64
|
StarkInfra::Utils::Rest.get_stream(
|
66
65
|
limit: limit,
|
67
66
|
after: after,
|
@@ -91,8 +90,8 @@ module StarkInfra
|
|
91
90
|
# - list of Log objects with updated attributes
|
92
91
|
# - Cursor to retrieve the next page of Log objects
|
93
92
|
def self.page(cursor: nil, limit: nil, after: nil, before: nil, types: nil, note_ids: nil, user: nil)
|
94
|
-
after =
|
95
|
-
before =
|
93
|
+
after = StarkCore::Utils::Checks.check_date(after)
|
94
|
+
before = StarkCore::Utils::Checks.check_date(before)
|
96
95
|
StarkInfra::Utils::Rest.get_page(
|
97
96
|
cursor: cursor,
|
98
97
|
limit: limit,
|
@@ -112,7 +111,7 @@ module StarkInfra
|
|
112
111
|
resource_maker: proc { |json|
|
113
112
|
Log.new(
|
114
113
|
id: json['id'],
|
115
|
-
note:
|
114
|
+
note: StarkCore::Utils::API.from_api_json(note_maker, json['note']),
|
116
115
|
errors: json['errors'],
|
117
116
|
type: json['type'],
|
118
117
|
created: json['created']
|
data/lib/creditnote/transfer.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require('starkcore')
|
4
4
|
require_relative('../utils/rest')
|
5
|
-
require_relative('../utils/sub_resource')
|
6
5
|
|
7
6
|
module StarkInfra
|
8
7
|
|
@@ -32,7 +31,7 @@ module StarkInfra
|
|
32
31
|
# - transaction_ids [list of strings]: ledger Transaction IDs linked to this Transfer (if there are two, the second is the chargeback). ex: ['19827356981273']
|
33
32
|
# - created [DateTime]: creation datetime for the transfer. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
34
33
|
# - updated [DateTime]: latest update datetime for the transfer. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
35
|
-
class Transfer <
|
34
|
+
class Transfer < StarkCore::Utils::Resource
|
36
35
|
attr_reader :id, :name, :tax_id, :bank_code, :branch_code, :account_number, :account_type, :tags, :amount, :external_id,
|
37
36
|
:scheduled, :description, :fee, :status, :created, :updated, :transaction_ids
|
38
37
|
def initialize(
|
@@ -56,8 +55,8 @@ module StarkInfra
|
|
56
55
|
@fee = fee
|
57
56
|
@status = status
|
58
57
|
@transaction_ids = transaction_ids
|
59
|
-
@created =
|
60
|
-
@updated =
|
58
|
+
@created = StarkCore::Utils::Checks.check_datetime(created)
|
59
|
+
@updated = StarkCore::Utils::Checks.check_datetime(updated)
|
61
60
|
end
|
62
61
|
|
63
62
|
def self.resource
|
@@ -1,8 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require('starkcore')
|
4
4
|
require_relative('../utils/rest')
|
5
|
-
require_relative('../utils/sub_resource')
|
6
5
|
|
7
6
|
module StarkInfra
|
8
7
|
# # CreditNotePreview object
|
@@ -34,7 +33,7 @@ module StarkInfra
|
|
34
33
|
# - amount [integer]: credit note value in cents. ex: 1234 (= R$ 12.34)
|
35
34
|
# - interest [float]: yearly effective interest rate of the credit note, in percentage. ex: 12.5
|
36
35
|
# - tax_amount [integer]: tax amount included in the credit note. ex: 100
|
37
|
-
class CreditNotePreview <
|
36
|
+
class CreditNotePreview < StarkCore::Utils::SubResource
|
38
37
|
attr_reader :type, :nominal_amount, :scheduled, :tax_id, :invoices, :nominal_interest, :initial_due, :count,
|
39
38
|
:initial_amount, :interval, :rebate_amount, :amount, :interest, :tax_amount
|
40
39
|
def initialize(
|
@@ -1,8 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require('starkcore')
|
4
4
|
require_relative('../utils/rest')
|
5
|
-
require_relative('../utils/sub_resource')
|
6
5
|
|
7
6
|
module StarkInfra
|
8
7
|
# # CreditPreview object
|
@@ -13,7 +12,7 @@ module StarkInfra
|
|
13
12
|
# ## Parameters (required):
|
14
13
|
# - credit [CreditNotePreview object]: Information preview of the informed credit.
|
15
14
|
# - type [string]: Credit type. ex: "credit-note"
|
16
|
-
class CreditPreview <
|
15
|
+
class CreditPreview < StarkCore::Utils::SubResource
|
17
16
|
attr_reader :credit, :type
|
18
17
|
def initialize(credit:, type: nil)
|
19
18
|
credit_info = CreditPreview.parse_credit(credit, type)
|
@@ -42,7 +41,7 @@ module StarkInfra
|
|
42
41
|
resource_maker = { 'credit-note' => StarkInfra::CreditNotePreview.resource[:resource_maker] }
|
43
42
|
if credit.is_a?(Hash)
|
44
43
|
begin
|
45
|
-
parsed_credit =
|
44
|
+
parsed_credit = StarkCore::Utils::API.from_api_json(resource_maker[type], credit)
|
46
45
|
return { 'credit' => parsed_credit, 'type' => type }
|
47
46
|
|
48
47
|
rescue StandardError
|
@@ -1,9 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
2
|
+
require('starkcore')
|
3
3
|
require_relative('../utils/rest')
|
4
|
-
require_relative('../utils/parse')
|
5
|
-
require_relative('../utils/checks')
|
6
|
-
require_relative('../utils/resource')
|
7
4
|
|
8
5
|
module StarkInfra
|
9
6
|
# # CreditSigner object
|
@@ -17,7 +14,7 @@ module StarkInfra
|
|
17
14
|
#
|
18
15
|
# ## Attributes (return-only):
|
19
16
|
# - id [string]: unique id returned when the CreditSigner is created. ex: '5656565656565656'
|
20
|
-
class CreditSigner <
|
17
|
+
class CreditSigner < StarkCore::Utils::Resource
|
21
18
|
attr_reader :name, :contact, :method, :id
|
22
19
|
def initialize(name:, contact:, method:, id: nil)
|
23
20
|
super(id)
|
@@ -33,7 +30,7 @@ module StarkInfra
|
|
33
30
|
parsed_signers = []
|
34
31
|
signers.each do |signer|
|
35
32
|
unless signer.is_a? CreditSigner
|
36
|
-
signer =
|
33
|
+
signer = StarkCore::Utils::API.from_api_json(resource_maker, signer)
|
37
34
|
end
|
38
35
|
parsed_signers << signer
|
39
36
|
end
|
@@ -1,9 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require('starkcore')
|
3
4
|
require_relative('../utils/rest')
|
4
|
-
require_relative('../utils/parse')
|
5
|
-
require_relative('../utils/checks')
|
6
|
-
require_relative('../utils/resource')
|
7
5
|
|
8
6
|
module StarkInfra
|
9
7
|
# # DynamicBrcode object
|
@@ -35,7 +33,7 @@ module StarkInfra
|
|
35
33
|
# - url [string]: url link to the BR Code image. ex: 'https://brcode-h.development.starkinfra.com/dynamic-qrcode/901e71f2447c43c886f58366a5432c4b.png'
|
36
34
|
# - created [DateTime]: creation datetime for the DynamicBrcode. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
37
35
|
# - updated [DateTime]: latest update datetime for the DynamicBrcode. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
38
|
-
class DynamicBrcode <
|
36
|
+
class DynamicBrcode < StarkCore::Utils::Resource
|
39
37
|
attr_reader :name, :city, :external_id, :type, :tags, :id, :uuid, :url, :updated, :created
|
40
38
|
def initialize(name:, city:, external_id:, type: nil, tags: nil, id: nil, uuid: nil, url: nil, updated: nil, created: nil)
|
41
39
|
super(id)
|
@@ -46,8 +44,8 @@ module StarkInfra
|
|
46
44
|
@tags = tags
|
47
45
|
@uuid = uuid
|
48
46
|
@url = url
|
49
|
-
@created =
|
50
|
-
@updated =
|
47
|
+
@created = StarkCore::Utils::Checks.check_datetime(created)
|
48
|
+
@updated = StarkCore::Utils::Checks.check_datetime(updated)
|
51
49
|
end
|
52
50
|
|
53
51
|
# # Create DynamicBrcodes
|
@@ -98,8 +96,8 @@ module StarkInfra
|
|
98
96
|
# ## Return:
|
99
97
|
# - generator of DynamicBrcode objects with updated attributes
|
100
98
|
def self.query(limit: nil, after: nil, before: nil, external_ids: nil, uuids: nil, tags: nil, user: nil)
|
101
|
-
after =
|
102
|
-
before =
|
99
|
+
after = StarkCore::Utils::Checks.check_date(after)
|
100
|
+
before = StarkCore::Utils::Checks.check_date(before)
|
103
101
|
StarkInfra::Utils::Rest.get_stream(
|
104
102
|
limit: limit,
|
105
103
|
after: after,
|
@@ -130,8 +128,8 @@ module StarkInfra
|
|
130
128
|
# - list of DynamicBrcode objects with updated attributes
|
131
129
|
# - cursor to retrieve the next page of DynamicBrcode objects
|
132
130
|
def self.page(cursor: nil, limit: nil, after: nil, before: nil, tags: nil, uuids: nil, external_ids: nil, user: nil)
|
133
|
-
after =
|
134
|
-
before =
|
131
|
+
after = StarkCore::Utils::Checks.check_date(after)
|
132
|
+
before = StarkCore::Utils::Checks.check_date(before)
|
135
133
|
StarkInfra::Utils::Rest.get_page(
|
136
134
|
cursor: cursor,
|
137
135
|
limit: limit,
|
@@ -162,7 +160,9 @@ module StarkInfra
|
|
162
160
|
# - reconciliation_id [string]: id to be used for conciliation of the resulting Pix transaction. This id must have from to 26 to 35 alphanumeric characters' ex: "cd65c78aeb6543eaaa0170f68bd741ee"
|
163
161
|
# - nominal_amount [integer]: positive integer that represents the amount in cents of the resulting Pix transaction. ex: 1234 (= R$ 12.34)
|
164
162
|
# - sender_name [string]: sender's full name. ex: "Anthony Edward Stark"
|
163
|
+
# - sender_tax_id [string]: sender's CPF (11 digits formatted or unformatted) or CNPJ (14 digits formatted or unformatted). ex: '01.001.001/0001-01'
|
165
164
|
# - receiver_name [string]: receiver's full name. ex: "Jamie Lannister"
|
165
|
+
# - receiver_tax_id [string]: receiver's CPF (11 digits formatted or unformatted) or CNPJ (14 digits formatted or unformatted). ex: '012.345.678-90'
|
166
166
|
# - receiver_street_line [string]: receiver's main address. ex: "Av. Paulista, 200"
|
167
167
|
# - receiver_city [string]: receiver's address city name. ex: "Sao Paulo"
|
168
168
|
# - receiver_state_code [string]: receiver's address state code. ex: "SP"
|
@@ -170,8 +170,6 @@ module StarkInfra
|
|
170
170
|
#
|
171
171
|
# ## Parameters (optional):
|
172
172
|
# - expiration [integer]: time in seconds counted from the creation datetime until the DynamicBrcode expires. After expiration, the BR Code cannot be paid anymore.
|
173
|
-
# - sender_tax_id [string, default nil]: sender's CPF (11 digits formatted or unformatted) or CNPJ (14 digits formatted or unformatted). ex: '01.001.001/0001-01'
|
174
|
-
# - receiver_tax_id [string, default nil]: receiver's CPF (11 digits formatted or unformatted) or CNPJ (14 digits formatted or unformatted). ex: '012.345.678-90'
|
175
173
|
# - fine [float, default 2.0]: Percentage charged if the sender pays after the due datetime. ex. 2.0
|
176
174
|
# - interest [float, default 1.0]: Interest percentage charged if the sender pays after the due datetime. ex: 1.5
|
177
175
|
# - discounts [list of dictionaries, default nil]: discount amount applied if the sender pays at a specific datetime before the due datetime.
|
@@ -181,8 +179,8 @@ module StarkInfra
|
|
181
179
|
# - Dumped JSON string that must be returned to us
|
182
180
|
def self.response_due(
|
183
181
|
version: , created: , due: , key_id: , status: , reconciliation_id: , nominal_amount: ,
|
184
|
-
sender_name: ,
|
185
|
-
|
182
|
+
sender_name: , sender_tax_id: , receiver_name: , receiver_tax_id: , receiver_street_line: ,
|
183
|
+
receiver_city: , receiver_state_code: , receiver_zip_code: , expiration: , fine: , interest: ,
|
186
184
|
discounts: , description:
|
187
185
|
)
|
188
186
|
|
@@ -195,14 +193,14 @@ module StarkInfra
|
|
195
193
|
'reconciliationId': reconciliation_id,
|
196
194
|
'nominalAmount': nominal_amount,
|
197
195
|
'senderName': sender_name,
|
196
|
+
'senderTaxId': sender_tax_id,
|
198
197
|
'receiverName': receiver_name,
|
198
|
+
'receiverTaxId': receiver_tax_id,
|
199
199
|
'receiverStreetLine': receiver_street_line,
|
200
200
|
'receiverCity': receiver_city,
|
201
201
|
'receiverStateCode': receiver_state_code,
|
202
202
|
'receiverZipCode': receiver_zip_code,
|
203
203
|
'expiration': expiration,
|
204
|
-
'senderTaxId': sender_tax_id,
|
205
|
-
'receiverTaxId': receiver_tax_id,
|
206
204
|
'fine': fine,
|
207
205
|
'interest': interest,
|
208
206
|
'discounts': Discount.parse_discounts(discounts),
|
@@ -283,7 +281,7 @@ module StarkInfra
|
|
283
281
|
# ## Return:
|
284
282
|
# - verified Brcode's uuid.
|
285
283
|
def self.verify(uuid:, signature:, user: nil)
|
286
|
-
|
284
|
+
StarkCore::Utils::Parse.verify(content: uuid, signature: signature, user: user)
|
287
285
|
end
|
288
286
|
|
289
287
|
def self.resource
|
@@ -313,7 +311,7 @@ module StarkInfra
|
|
313
311
|
# ## Parameters (required):
|
314
312
|
# - percentage [integer]: discount percentage that will be applied. ex: 2.5
|
315
313
|
# - due [DateTime or string, default now + 2 days]: Date after when the discount will be overdue in UTC ISO format. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0) or "2020-03-10T10:30:00.000000+00:00"
|
316
|
-
class Discount <
|
314
|
+
class Discount < StarkCore::Utils::SubResource
|
317
315
|
attr_reader :percentage, :due
|
318
316
|
def initialize(percentage:, due:)
|
319
317
|
@percentage = percentage
|
@@ -327,7 +325,7 @@ module StarkInfra
|
|
327
325
|
discounts.each do |discount|
|
328
326
|
|
329
327
|
if discount.is_a? DynamicBrcode::Discount
|
330
|
-
discount =
|
328
|
+
discount = StarkCore::Utils::API.api_json(discount)
|
331
329
|
end
|
332
330
|
parsed_discounts << discount
|
333
331
|
end
|
data/lib/error.rb
CHANGED
@@ -1,52 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require('
|
3
|
+
require('starkcore')
|
4
4
|
|
5
5
|
module StarkInfra
|
6
6
|
module Error
|
7
|
-
|
8
|
-
attr_reader :message
|
9
|
-
def initialize(message)
|
10
|
-
@message = message
|
11
|
-
super(message)
|
12
|
-
end
|
13
|
-
end
|
7
|
+
StarkInfraError = StarkCore::Error::StarkCoreError
|
14
8
|
|
15
|
-
|
16
|
-
attr_reader :code, :message
|
17
|
-
def initialize(code, message)
|
18
|
-
@code = code
|
19
|
-
@message = message
|
20
|
-
super("#{code}: #{message}")
|
21
|
-
end
|
22
|
-
end
|
9
|
+
Error = StarkCore::Error::Error
|
23
10
|
|
24
|
-
|
25
|
-
attr_reader :errors
|
26
|
-
def initialize(content)
|
27
|
-
errors = []
|
28
|
-
content.each do |error|
|
29
|
-
errors << Error.new(error['code'], error['message'])
|
30
|
-
end
|
31
|
-
@errors = errors
|
11
|
+
InputErrors = StarkCore::Error::InputErrors
|
32
12
|
|
33
|
-
|
34
|
-
end
|
35
|
-
end
|
13
|
+
InternalServerError = StarkCore::Error::InternalServerError
|
36
14
|
|
37
|
-
|
38
|
-
def initialize(message = 'Houston, we have a problem.')
|
39
|
-
super(message)
|
40
|
-
end
|
41
|
-
end
|
15
|
+
UnknownError = StarkCore::Error::UnknownError
|
42
16
|
|
43
|
-
|
44
|
-
def initialize(message)
|
45
|
-
super("Unknown exception encountered: #{message}")
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
class InvalidSignatureError < StarkInfraError
|
50
|
-
end
|
17
|
+
InvalidSignatureError = StarkCore::Error::InvalidSignatureError
|
51
18
|
end
|
52
19
|
end
|