starkbank 2.5.0 → 2.7.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/balance/balance.rb +8 -8
- data/lib/boleto/boleto.rb +22 -19
- data/lib/boleto/log.rb +10 -10
- data/lib/boleto_holmes/boleto_holmes.rb +14 -14
- data/lib/boleto_holmes/log.rb +16 -13
- data/lib/boleto_payment/boleto_payment.rb +21 -18
- data/lib/boleto_payment/log.rb +10 -10
- data/lib/brcode_payment/brcode_payment.rb +23 -20
- data/lib/brcode_payment/log.rb +10 -10
- data/lib/brcode_payment/rule.rb +49 -0
- data/lib/darf_payment/darf_payment.rb +23 -21
- data/lib/darf_payment/log.rb +10 -10
- data/lib/deposit/deposit.rb +9 -9
- data/lib/deposit/log.rb +10 -10
- data/lib/dict_key/dict_key.rb +26 -27
- data/lib/dynamic_brcode/dynamic_brcode.rb +155 -0
- data/lib/error.rb +7 -40
- data/lib/event/attempt.rb +9 -9
- data/lib/event/event.rb +30 -56
- data/lib/institution/institution.rb +2 -3
- data/lib/invoice/invoice.rb +33 -23
- data/lib/invoice/log.rb +10 -10
- data/lib/invoice/payment.rb +1 -2
- data/lib/payment_preview/boleto_preview.rb +74 -0
- data/lib/payment_preview/brcode_preview.rb +74 -0
- data/lib/payment_preview/payment_preview.rb +71 -0
- data/lib/payment_preview/tax_preview.rb +44 -0
- data/lib/payment_preview/utility_preview.rb +44 -0
- data/lib/payment_request/payment_request.rb +22 -16
- data/lib/starkbank.rb +21 -5
- data/lib/tax_payment/log.rb +10 -10
- data/lib/tax_payment/tax_payment.rb +22 -19
- data/lib/transaction/transaction.rb +13 -13
- data/lib/transfer/log.rb +10 -10
- data/lib/transfer/rule.rb +49 -0
- data/lib/transfer/transfer.rb +27 -24
- data/lib/utility_payment/log.rb +10 -10
- data/lib/utility_payment/utility_payment.rb +26 -17
- data/lib/utils/parse.rb +35 -0
- data/lib/utils/rest.rb +132 -109
- data/lib/webhook/webhook.rb +5 -5
- data/lib/workspace/workspace.rb +38 -10
- metadata +20 -25
- data/lib/brcode_preview/brcode_preview.rb +0 -77
- 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 -79
- data/lib/utils/cache.rb +0 -10
- data/lib/utils/case.rb +0 -21
- data/lib/utils/checks.rb +0 -101
- data/lib/utils/environment.rb +0 -13
- data/lib/utils/request.rb +0 -79
- data/lib/utils/resource.rb +0 -13
- data/lib/utils/sub_resource.rb +0 -28
- data/lib/utils/url.rb +0 -28
data/lib/utils/request.rb
DELETED
@@ -1,79 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require('json')
|
4
|
-
require('starkbank-ecdsa')
|
5
|
-
require('net/http')
|
6
|
-
require_relative('url')
|
7
|
-
require_relative('checks')
|
8
|
-
require_relative('../error')
|
9
|
-
|
10
|
-
module StarkBank
|
11
|
-
module Utils
|
12
|
-
module Request
|
13
|
-
class Response
|
14
|
-
attr_reader :status, :content
|
15
|
-
def initialize(status, content)
|
16
|
-
@status = status
|
17
|
-
@content = content
|
18
|
-
end
|
19
|
-
|
20
|
-
def json
|
21
|
-
JSON.parse(@content)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def self.fetch(method:, path:, payload: nil, query: nil, user: nil)
|
26
|
-
user = Checks.check_user(user)
|
27
|
-
language = Checks.check_language
|
28
|
-
|
29
|
-
base_url = {
|
30
|
-
Environment::PRODUCTION => 'https://api.starkbank.com/',
|
31
|
-
Environment::SANDBOX => 'https://sandbox.api.starkbank.com/'
|
32
|
-
}[user.environment] + 'v2'
|
33
|
-
|
34
|
-
url = "#{base_url}/#{path}#{StarkBank::Utils::URL.urlencode(query)}"
|
35
|
-
uri = URI(url)
|
36
|
-
|
37
|
-
access_time = Time.now.to_i
|
38
|
-
body = payload.nil? ? '' : payload.to_json
|
39
|
-
message = "#{user.access_id}:#{access_time}:#{body}"
|
40
|
-
signature = EllipticCurve::Ecdsa.sign(message, user.private_key).toBase64
|
41
|
-
|
42
|
-
case method
|
43
|
-
when 'GET'
|
44
|
-
req = Net::HTTP::Get.new(uri)
|
45
|
-
when 'DELETE'
|
46
|
-
req = Net::HTTP::Delete.new(uri)
|
47
|
-
when 'POST'
|
48
|
-
req = Net::HTTP::Post.new(uri)
|
49
|
-
req.body = body
|
50
|
-
when 'PATCH'
|
51
|
-
req = Net::HTTP::Patch.new(uri)
|
52
|
-
req.body = body
|
53
|
-
when 'PUT'
|
54
|
-
req = Net::HTTP::Put.new(uri)
|
55
|
-
req.body = body
|
56
|
-
else
|
57
|
-
raise(ArgumentError, 'unknown HTTP method ' + method)
|
58
|
-
end
|
59
|
-
|
60
|
-
req['Access-Id'] = user.access_id
|
61
|
-
req['Access-Time'] = access_time
|
62
|
-
req['Access-Signature'] = signature
|
63
|
-
req['Content-Type'] = 'application/json'
|
64
|
-
req['User-Agent'] = "Ruby-#{RUBY_VERSION}-SDK-2.5.0"
|
65
|
-
req['Accept-Language'] = language
|
66
|
-
|
67
|
-
request = Net::HTTP.start(uri.hostname, use_ssl: true) { |http| http.request(req) }
|
68
|
-
|
69
|
-
response = Response.new(Integer(request.code, 10), request.body)
|
70
|
-
|
71
|
-
raise(StarkBank::Error::InternalServerError) if response.status == 500
|
72
|
-
raise(StarkBank::Error::InputErrors, response.json['errors']) if response.status == 400
|
73
|
-
raise(StarkBank::Error::UnknownError, response.content) unless response.status == 200
|
74
|
-
|
75
|
-
response
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
data/lib/utils/resource.rb
DELETED
data/lib/utils/sub_resource.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
module StarkBank
|
4
|
-
module Utils
|
5
|
-
class SubResource
|
6
|
-
def to_s
|
7
|
-
string_vars = []
|
8
|
-
instance_variables.each do |key|
|
9
|
-
value = instance_variable_get(key).to_s.lines.map(&:chomp).join("\n ")
|
10
|
-
string_vars << "#{key[1..-1]}: #{value}"
|
11
|
-
end
|
12
|
-
fields = string_vars.join(",\n ")
|
13
|
-
"#{class_name}(\n #{fields}\n)"
|
14
|
-
end
|
15
|
-
|
16
|
-
def inspect
|
17
|
-
"#{class_name}[#{@id}]"
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
def class_name
|
23
|
-
self.class.name.split('::').last.downcase
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
data/lib/utils/url.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require 'erb'
|
3
|
-
|
4
|
-
|
5
|
-
module StarkBank
|
6
|
-
module Utils
|
7
|
-
module URL
|
8
|
-
# generates query string from hash
|
9
|
-
def self.urlencode(params)
|
10
|
-
return '' if params.nil?
|
11
|
-
|
12
|
-
params = StarkBank::Utils::API.cast_json_to_api_format(params)
|
13
|
-
return '' if params.empty?
|
14
|
-
|
15
|
-
string_params = {}
|
16
|
-
params.each do |key, value|
|
17
|
-
string_params[key] = value.is_a?(Array) ? value.join(',') : value
|
18
|
-
end
|
19
|
-
|
20
|
-
query_list = []
|
21
|
-
string_params.each do |key, value|
|
22
|
-
query_list << "#{key}=#{ERB::Util.url_encode(value)}"
|
23
|
-
end
|
24
|
-
'?' + query_list.join('&')
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|