starkbank 0.3.0 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 210f7bc9491667343dff3f32f2fef3b3b869ee6bf7c6ba901ed020546490636f
4
- data.tar.gz: d71f5d62281fa05ccb36487c8232c78a1407c66c10d7d0e2122dff07eb713b1b
3
+ metadata.gz: 2cde164881e744d7dd89ef1890e4793bb3b00b176309fd68878154562204f0fa
4
+ data.tar.gz: f216ff9ab2526f9807d13e3599412a3c8439d3b20e1ba7396df1aa7b50b75a8b
5
5
  SHA512:
6
- metadata.gz: bb6d31e105832bd852f06b9d8c5dc1deb492403df67537f38a41f3a298f81102a233fc32a5dbe06fc1cd6eb5eca0e930599ae7a97162c18e74a56e53ef384813
7
- data.tar.gz: 172d18b8cbb36c3213808a450b796a0d3620b0d718d8c6d8a0143fbc0b16b2bb8d531f74212c7208bf481b8c270a920e8910fe4168b262a8880862eca31e0ce6
6
+ metadata.gz: 2abcedf46bd193107cbafb446461199d573c72ef8fdf2c9182479e0ee897396f16298debb9d19920fba358babc1247c3f48a2bd8e9b80155d6f7a867de22987e
7
+ data.tar.gz: 2d95dd80a1fd990aa4d1a71dc32c01674c7c52471e7d8369db5787faf382e3c3043300762bc9d85d15a597e31399e7084eb3a25e943603176ea8503c0b258082
@@ -114,12 +114,13 @@ module StarkBank
114
114
  # - id [string]: object unique id. ex: '5656565656565656'
115
115
  #
116
116
  # ## Parameters (optional):
117
+ # - layout [string]: Layout specification. Available options are "default" and "booklet"
117
118
  # - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
118
119
  #
119
120
  # ## Return:
120
121
  # - Boleto pdf file
121
- def self.pdf(id, user: nil)
122
- StarkBank::Utils::Rest.get_pdf(id: id, user: user, **resource)
122
+ def self.pdf(id, layout: nil, user: nil)
123
+ StarkBank::Utils::Rest.get_pdf(id: id, layout: layout, user: user, **resource)
123
124
  end
124
125
 
125
126
  # # Retrieve Boletos
@@ -163,7 +164,7 @@ module StarkBank
163
164
  # - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
164
165
  #
165
166
  # ## Return:
166
- # - deleted Boleto with updated attributes
167
+ # - deleted Boleto object
167
168
  def self.delete(id, user: nil)
168
169
  StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
169
170
  end
@@ -133,7 +133,7 @@ module StarkBank
133
133
  # Parameters (optional):
134
134
  # - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
135
135
  # Return:
136
- # - deleted BoletoPayment with updated attributes
136
+ # - deleted BoletoPayment object
137
137
  def self.delete(id, user: nil)
138
138
  StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
139
139
  end
@@ -33,14 +33,15 @@ module StarkBank
33
33
  @is_delivered = is_delivered
34
34
  @subscription = subscription
35
35
 
36
- maker = {
36
+ resource = {
37
37
  'transfer': StarkBank::Transfer::Log.resource,
38
38
  'boleto': StarkBank::Boleto::Log.resource,
39
39
  'boleto-payment': StarkBank::BoletoPayment::Log.resource,
40
40
  'utility-payment': StarkBank::UtilityPayment::Log.resource
41
- }[subscription.to_sym][:resource_maker]
41
+ }[subscription.to_sym]
42
42
 
43
- @log = StarkBank::Utils::API.from_api_json(maker, log)
43
+ @log = log
44
+ @log = StarkBank::Utils::API.from_api_json(resource[:resource_maker], log) unless resource.nil?
44
45
  end
45
46
 
46
47
  # # Retrieve a specific notification Event
@@ -96,7 +97,7 @@ module StarkBank
96
97
  # - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
97
98
  #
98
99
  # ## Return:
99
- # - deleted Event with updated attributes
100
+ # - deleted Event object
100
101
  def self.delete(id, user: nil)
101
102
  StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
102
103
  end
data/lib/key.rb CHANGED
@@ -15,7 +15,7 @@ module StarkBank
15
15
  # ## Return:
16
16
  # - private and public key pems
17
17
  def self.create(path = nil)
18
- private_key = PrivateKey.new
18
+ private_key = EllipticCurve::PrivateKey.new
19
19
  public_key = private_key.publicKey
20
20
 
21
21
  private_key_pem = private_key.toPem
@@ -0,0 +1,142 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative('../utils/resource')
4
+ require_relative('../utils/rest')
5
+ require_relative('../utils/checks')
6
+
7
+ module StarkBank
8
+ # # PaymentRequest object
9
+ # A PaymentRequest is an indirect request to access a specific cash-out service
10
+ # (such as Transfer, BoletoPayments, etc.) which goes through the cost center
11
+ # approval flow on our website. To emit a PaymentRequest, you must direct it to
12
+ # a specific cost center by its ID, which can be retrieved on our website at the
13
+ # cost center page.
14
+ #
15
+ # ## Parameters (required):
16
+ # - center_id [String]: target cost center ID. ex: '5656565656565656'
17
+ # - payment [Transfer, BoletoPayment, UtilityPayment, Transaction or dictionary]: payment entity that should be approved and executed.
18
+ #
19
+ # ## Parameters (optional):
20
+ # - type [String]: payment type, inferred from the payment parameter if it is not a dictionary. ex: 'transfer', 'boleto-payment'
21
+ # - due [Date, DateTime, Time or string]: Payment target date in ISO format. ex: 2020-12-31
22
+ # - tags [list of strings]: list of strings for tagging
23
+ #
24
+ # ## Attributes (return-only):
25
+ # - id [String]: unique id returned when PaymentRequest is created. ex: '5656565656565656'
26
+ # - amount [integer, default nil]: PaymentRequest amount. ex: 100000 = R$1.000,00
27
+ # - status [string, default nil]: current PaymentRequest status.ex: 'pending' or 'approved'
28
+ # - actions [list of dictionaries, default nil]: list of actions that are affecting this PaymentRequest. ex: [{'type': 'member', 'id': '56565656565656, 'action': 'requested'}]
29
+ # - updated [DateTime, default nil]: latest update datetime for the PaymentRequest. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
30
+ # - created [DateTime, default nil]: creation datetime for the PaymentRequest. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
31
+ #
32
+ class PaymentRequest < StarkBank::Utils::Resource
33
+ attr_reader :center_id, :payment, :type, :due, :tags, :amount, :status, :actions, :updated, :created
34
+ def initialize(
35
+ payment:, center_id:, id: nil, type: nil, due: nil, tags: nil, amount: nil, status: nil,
36
+ actions: nil, updated: nil, created: nil
37
+ )
38
+ super(id)
39
+ @center_id = center_id
40
+ @due = due
41
+ @tags = tags
42
+ @amount = amount
43
+ @status = status
44
+ @actions = actions
45
+ @updated = updated
46
+ @created = created
47
+
48
+ @payment, @type = parse_payment(payment: payment, type: type)
49
+ end
50
+
51
+ ## Create PaymentRequests
52
+ # Sends a list of PaymentRequests objects for creating in the Stark Bank API
53
+ #
54
+ # ## Parameters
55
+ # - payment_requests [list of PaymentRequest objects]: list of PaymentRequest objects to be created in the API
56
+ # - user [Project object]: Project object. Not necessary if StarkBank.User.Default was set before function call
57
+ #
58
+ # ## Return
59
+ # - list of PaymentRequest objects with updated attributes
60
+ #
61
+ def self.create(payment_requests, user: nil)
62
+ StarkBank::Utils::Rest.post(entities: payment_requests, user: user, **resource)
63
+ end
64
+
65
+ # # Retrieve PaymentRequests
66
+ #
67
+ # Receive a generator of PaymentRequest objects previously created in the Stark Bank API
68
+ #
69
+ # ## Parameters (required):
70
+ # - center_id [string]: target cost center ID. ex: '5656565656565656'
71
+ # ## Parameters (optional):
72
+ # - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
73
+ # - after [Date , DateTime, Time or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
74
+ # - before [Date, DateTime, Time or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
75
+ # - status [string, default '-created']: sort order considered in response. Valid options are '-created' or '-due'.
76
+ # - type [string, default nil]: payment type, inferred from the payment parameter if it is not a dictionary. ex: 'transfer', 'boleto-payment'
77
+ # - sort [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
78
+ # - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
79
+ # - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
80
+ # - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
81
+ #
82
+ # ## Return:
83
+ # - generator of PaymentRequest objects with updated attributes
84
+ def self.query(center_id:, limit: nil, after: nil, before: nil, status: nil, type: nil, sort: nil, tags: nil, ids: nil, user: nil)
85
+ after = StarkBank::Utils::Checks.check_date(after)
86
+ before = StarkBank::Utils::Checks.check_date(before)
87
+ StarkBank::Utils::Rest.get_list(
88
+ center_id: center_id,
89
+ limit: limit,
90
+ after: after,
91
+ before: before,
92
+ status: status,
93
+ type: type,
94
+ sort: sort,
95
+ tags: tags,
96
+ ids: ids,
97
+ user: user,
98
+ **resource
99
+ )
100
+ end
101
+
102
+ def parse_payment(payment:, type:)
103
+ return [payment, 'transfer'] if payment.is_a?(StarkBank::Transfer)
104
+ return [payment, 'transaction'] if payment.is_a?(StarkBank::Transaction)
105
+ return [payment, 'boleto-payment'] if payment.is_a?(StarkBank::BoletoPayment)
106
+ return [payment, 'utility-payment'] if payment.is_a?(StarkBank::UtilityPayment)
107
+
108
+ raise(Exception('Payment must either be a Transfer, a Transaction, a BoletoPayment, a UtilityPayment or a hash.')) unless payment.is_a?(Hash)
109
+
110
+ resource = {
111
+ 'transfer': StarkBank::Transfer.resource,
112
+ 'transaction': StarkBank::Transaction.resource,
113
+ 'boleto-payment': StarkBank::BoletoPayment.resource,
114
+ 'utility-payment': StarkBank::UtilityPayment.resource
115
+ }[type.to_sym]
116
+
117
+ payment = StarkBank::Utils::API.from_api_json(resource[:resource_maker], payment) unless resource.nil?
118
+
119
+ [payment, type]
120
+ end
121
+
122
+ def self.resource
123
+ {
124
+ resource_name: 'PaymentRequest',
125
+ resource_maker: proc { |json|
126
+ PaymentRequest.new(
127
+ id: json['id'],
128
+ payment: json['payment'],
129
+ center_id: json['centerId'],
130
+ type: json['type'],
131
+ tags: json['tags'],
132
+ amount: json['amount'],
133
+ status: json['status'],
134
+ actions: json['actions'],
135
+ updated: json['updated'],
136
+ created: json['created']
137
+ )
138
+ }
139
+ }
140
+ end
141
+ end
142
+ end
@@ -14,9 +14,11 @@ require_relative('utility_payment/utility_payment')
14
14
  require_relative('utility_payment/log')
15
15
  require_relative('webhook/webhook')
16
16
  require_relative('event/event')
17
+ require_relative('payment_request/payment_request')
17
18
 
18
19
  # SDK to facilitate Ruby integrations with Stark Bank
19
20
  module StarkBank
20
21
  @user = nil
21
- class << self; attr_accessor :user; end
22
+ @language = 'en-US'
23
+ class << self; attr_accessor :user, :language; end
22
24
  end
@@ -87,15 +87,26 @@ module StarkBank
87
87
  # - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
88
88
  # - after [Date, DateTime, Time or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
89
89
  # - before [Date, DateTime, Time or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
90
+ # - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
90
91
  # - external_ids [list of strings, default nil]: list of external ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
92
+ # - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
91
93
  # - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
92
94
  #
93
95
  # ## Return:
94
96
  # - generator of Transaction objects with updated attributes
95
- def self.query(limit: nil, after: nil, before: nil, external_ids: nil, user: nil)
97
+ def self.query(limit: nil, after: nil, before: nil, tags: nil, external_ids: nil, ids: nil, user: nil)
96
98
  after = StarkBank::Utils::Checks.check_date(after)
97
99
  before = StarkBank::Utils::Checks.check_date(before)
98
- StarkBank::Utils::Rest.get_list(user: user, limit: limit, after: after, before: before, external_ids: external_ids, **resource)
100
+ StarkBank::Utils::Rest.get_list(
101
+ limit: limit,
102
+ after: after,
103
+ before: before,
104
+ tags: tags,
105
+ external_ids: external_ids,
106
+ ids: ids,
107
+ user: user,
108
+ **resource
109
+ )
99
110
  end
100
111
 
101
112
  def self.resource
@@ -21,6 +21,7 @@ module StarkBank
21
21
  #
22
22
  # ## Parameters (optional):
23
23
  # - tags [list of strings]: list of strings for reference when searching for transfers. ex: ['employees', 'monthly']
24
+ # - scheduled [string, default now]: datetime when the transfer will be processed. May be pushed to next business day if necessary. ex: DateTime.new(2020, 3, 11, 8, 0, 0, 0)
24
25
  #
25
26
  # ## Attributes (return-only):
26
27
  # - id [string, default nil]: unique id returned when Transfer is created. ex: '5656565656565656'
@@ -30,8 +31,8 @@ module StarkBank
30
31
  # - created [DateTime, default nil]: creation datetime for the transfer. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
31
32
  # - updated [DateTime, default nil]: latest update datetime for the transfer. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
32
33
  class Transfer < StarkBank::Utils::Resource
33
- attr_reader :amount, :name, :tax_id, :bank_code, :branch_code, :account_number, :transaction_ids, :fee, :tags, :status, :id, :created, :updated
34
- def initialize(amount:, name:, tax_id:, bank_code:, branch_code:, account_number:, transaction_ids: nil, fee: nil, tags: nil, status: nil, id: nil, created: nil, updated: nil)
34
+ attr_reader :amount, :name, :tax_id, :bank_code, :branch_code, :account_number, :scheduled, :transaction_ids, :fee, :tags, :status, :id, :created, :updated
35
+ def initialize(amount:, name:, tax_id:, bank_code:, branch_code:, account_number:, scheduled: nil, transaction_ids: nil, fee: nil, tags: nil, status: nil, id: nil, created: nil, updated: nil)
35
36
  super(id)
36
37
  @amount = amount
37
38
  @name = name
@@ -39,6 +40,7 @@ module StarkBank
39
40
  @bank_code = bank_code
40
41
  @branch_code = branch_code
41
42
  @account_number = account_number
43
+ @scheduled = StarkBank::Utils::Checks.check_datetime(scheduled)
42
44
  @transaction_ids = transaction_ids
43
45
  @fee = fee
44
46
  @tags = tags
@@ -79,6 +81,22 @@ module StarkBank
79
81
  StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
80
82
  end
81
83
 
84
+ # # Delete a Transfer entity
85
+ #
86
+ # Delete a Transfer entity previously created in the Stark Bank API
87
+ #
88
+ # ## Parameters (required):
89
+ # - id [string]: Transfer unique id. ex: '5656565656565656'
90
+ #
91
+ # ## Parameters (optional):
92
+ # - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
93
+ #
94
+ # ## Return:
95
+ # - deleted Transfer object
96
+ def self.delete(id, user: nil)
97
+ StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
98
+ end
99
+
82
100
  # # Retrieve a specific Transfer pdf file
83
101
  #
84
102
  # Receive a single Transfer pdf receipt file generated in the Stark Bank API by passing its id.
@@ -106,12 +124,14 @@ module StarkBank
106
124
  # - before [Date, DateTime, Time or string, default nil] date filter for objects created or updated only before specified date. ex: Date.new(2020, 3, 10)
107
125
  # - transactionIds [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
108
126
  # - status [string, default nil]: filter for status of retrieved objects. ex: 'success' or 'failed'
127
+ # - tax_id [string, default nil]: filter for transfers sent to the specified tax ID. ex: "012.345.678-90"
109
128
  # - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
129
+ # - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
110
130
  # - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
111
131
  #
112
132
  # ## Return:
113
133
  # - generator of Transfer objects with updated attributes
114
- def self.query(limit: nil, after: nil, before: nil, transaction_ids: nil, status: nil, sort: nil, tags: nil, user: nil)
134
+ def self.query(limit: nil, after: nil, before: nil, transaction_ids: nil, status: nil, tax_id: nil, sort: nil, tags: nil, ids: nil, user: nil)
115
135
  after = StarkBank::Utils::Checks.check_date(after)
116
136
  before = StarkBank::Utils::Checks.check_date(before)
117
137
  StarkBank::Utils::Rest.get_list(
@@ -120,8 +140,10 @@ module StarkBank
120
140
  before: before,
121
141
  transaction_ids: transaction_ids,
122
142
  status: status,
143
+ tax_id: tax_id,
123
144
  sort: sort,
124
145
  tags: tags,
146
+ ids: ids,
125
147
  user: user,
126
148
  **resource
127
149
  )
@@ -139,6 +161,7 @@ module StarkBank
139
161
  bank_code: json['bank_code'],
140
162
  branch_code: json['branch_code'],
141
163
  account_number: json['account_number'],
164
+ scheduled: json['scheduled'],
142
165
  transaction_ids: json['transaction_ids'],
143
166
  fee: json['fee'],
144
167
  tags: json['tags'],
@@ -2,12 +2,12 @@
2
2
 
3
3
  require('starkbank-ecdsa')
4
4
  require_relative('../utils/resource')
5
- require_relative('../utils/checks')
6
5
 
7
6
  module StarkBank
8
7
  class User < StarkBank::Utils::Resource
9
8
  attr_reader :pem, :environment
10
9
  def initialize(environment, id, private_key)
10
+ require_relative('../utils/checks')
11
11
  super(id)
12
12
  @pem = StarkBank::Utils::Checks.check_private_key(private_key)
13
13
  @environment = StarkBank::Utils::Checks.check_environment(environment)
@@ -133,7 +133,7 @@ module StarkBank
133
133
  # - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
134
134
  #
135
135
  # ## Return:
136
- # - deleted UtilityPayment with updated attributes
136
+ # - deleted UtilityPayment object
137
137
  def self.delete(id, user: nil)
138
138
  StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
139
139
  end
@@ -5,16 +5,22 @@ require_relative('case')
5
5
  module StarkBank
6
6
  module Utils
7
7
  module API
8
- def self.api_json(entity)
8
+ def self.build_entity_hash(entity)
9
9
  if entity.is_a?(Hash)
10
10
  entity_hash = entity
11
11
  else
12
12
  entity_hash = {}
13
13
  entity.instance_variables.each do |key|
14
- entity_hash[key[1..-1]] = entity.instance_variable_get(key)
14
+ variable = entity.instance_variable_get(key)
15
+ entity_hash[key[1..-1]] = variable.is_a?(StarkBank::Utils::Resource) ? build_entity_hash(variable) : entity.instance_variable_get(key)
15
16
  end
16
17
  end
17
- cast_json_to_api_format(entity_hash)
18
+ entity_hash
19
+ end
20
+
21
+ def self.api_json(entity)
22
+ built_hash = build_entity_hash(entity)
23
+ cast_json_to_api_format(built_hash)
18
24
  end
19
25
 
20
26
  def self.cast_json_to_api_format(hash)
@@ -30,6 +36,8 @@ module StarkBank
30
36
  list << (v.is_a?(Hash) ? cast_json_to_api_format(v) : v)
31
37
  end
32
38
  value = list
39
+ elsif value.is_a?(Hash)
40
+ value = cast_json_to_api_format(value)
33
41
  end
34
42
 
35
43
  entity_hash[StarkBank::Utils::Case.snake_to_camel(key)] = value
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require('starkbank-ecdsa')
4
3
  require('date')
5
- require_relative('../user/user')
4
+ require('starkbank-ecdsa')
6
5
  require_relative('environment')
6
+ require_relative('../user/user')
7
7
 
8
8
  module StarkBank
9
9
  module Utils
@@ -17,6 +17,14 @@ module StarkBank
17
17
  user
18
18
  end
19
19
 
20
+ def self.check_language
21
+ language = StarkBank.language
22
+ accepted_languages = %w[en-US pt-BR]
23
+ raise(ArgumentError, "Select a valid language: #{accepted_languages.join(', ')}") unless accepted_languages.include?(language)
24
+
25
+ language
26
+ end
27
+
20
28
  def self.check_environment(environment)
21
29
  environments = StarkBank::Utils::Environment.constants(false).map { |c| StarkBank::Utils::Environment.const_get(c) }
22
30
  raise(ArgumentError, "Select a valid environment: #{environments.join(', ')}") unless environments.include?(environment)
@@ -24,6 +24,7 @@ module StarkBank
24
24
 
25
25
  def self.fetch(method:, path:, payload: nil, query: nil, user: nil)
26
26
  user = Checks.check_user(user)
27
+ language = Checks.check_language
27
28
 
28
29
  base_url = {
29
30
  Environment::PRODUCTION => 'https://api.starkbank.com/',
@@ -60,7 +61,8 @@ module StarkBank
60
61
  req['Access-Time'] = access_time
61
62
  req['Access-Signature'] = signature
62
63
  req['Content-Type'] = 'application/json'
63
- req['User-Agent'] = "Ruby-#{RUBY_VERSION}-SDK-0.3.0"
64
+ req['User-Agent'] = "Ruby-#{RUBY_VERSION}-SDK-2.0.0"
65
+ req['Accept-Language'] = language
64
66
 
65
67
  request = Net::HTTP.start(uri.hostname, use_ssl: true) { |http| http.request(req) }
66
68
 
@@ -47,10 +47,11 @@ module StarkBank
47
47
  StarkBank::Utils::API.from_api_json(resource_maker, entity)
48
48
  end
49
49
 
50
- def self.get_pdf(resource_name:, resource_maker:, id:, user: nil)
50
+ def self.get_pdf(resource_name:, resource_maker:, id:, user: nil, **query)
51
51
  StarkBank::Utils::Request.fetch(
52
52
  method: 'GET',
53
53
  path: "#{StarkBank::Utils::API.endpoint(resource_name)}/#{id}/pdf",
54
+ query: StarkBank::Utils::API.cast_json_to_api_format(query),
54
55
  user: user
55
56
  ).content
56
57
  end
@@ -83,7 +83,7 @@ module StarkBank
83
83
  # - user [Project object]: Project object. Not necessary if StarkBank.user was set before function call
84
84
  #
85
85
  # ## Return:
86
- # - deleted Webhook with updated attributes
86
+ # - deleted Webhook object
87
87
  def self.delete(id, user: nil)
88
88
  StarkBank::Utils::Rest.delete_id(id: id, user: user, **resource)
89
89
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: starkbank
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - starkbank
@@ -16,28 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.2
19
+ version: 0.0.5
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.2
26
+ version: 0.0.5
27
27
  - !ruby/object:Gem::Dependency
28
- name: rspec
28
+ name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.0'
33
+ version: 5.14.1
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3.0'
40
+ version: 5.14.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '13.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '13.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.81'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.81'
41
69
  description:
42
70
  email:
43
71
  executables: []
@@ -52,6 +80,7 @@ files:
52
80
  - lib/error.rb
53
81
  - lib/event/event.rb
54
82
  - lib/key.rb
83
+ - lib/payment_request/payment_request.rb
55
84
  - lib/starkbank.rb
56
85
  - lib/transaction/transaction.rb
57
86
  - lib/transfer/log.rb
@@ -89,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
118
  - !ruby/object:Gem::Version
90
119
  version: '0'
91
120
  requirements: []
92
- rubygems_version: 3.0.6
121
+ rubygems_version: 3.1.4
93
122
  signing_key:
94
123
  specification_version: 4
95
124
  summary: SDK to facilitate Ruby integrations with Stark Bank