starkinfra 0.3.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 +33 -22
- 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
|