starkbank 0.3.0 → 0.4.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: bf5488ddd0ee3f98ef2a890f8f3432ce3b80b5bba5344da16d4f99339e4f2aa3
4
+ data.tar.gz: cafd89743d269f83769f250b7651bf4eecebb88c7997fdd4bf4e66ae532dd735
5
5
  SHA512:
6
- metadata.gz: bb6d31e105832bd852f06b9d8c5dc1deb492403df67537f38a41f3a298f81102a233fc32a5dbe06fc1cd6eb5eca0e930599ae7a97162c18e74a56e53ef384813
7
- data.tar.gz: 172d18b8cbb36c3213808a450b796a0d3620b0d718d8c6d8a0143fbc0b16b2bb8d531f74212c7208bf481b8c270a920e8910fe4168b262a8880862eca31e0ce6
6
+ metadata.gz: 987f82173290c1dd081326dd3955a8978aabe38115b0d1885570e81eb73df3f2e381def15bdcfd726ccfca255e4b8531e096c761da563d886f1fc2334a1b938b
7
+ data.tar.gz: 730698a7e8c425c430b1b3652003c9acf54070f1e791e288b452f5e308ecc3fd7b9d42accb329a3ba5ccdde41cb95fbed4bd5c3440ea89738c50cd780f5ca71f
@@ -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
@@ -18,5 +18,6 @@ require_relative('event/event')
18
18
  # SDK to facilitate Ruby integrations with Stark Bank
19
19
  module StarkBank
20
20
  @user = nil
21
- class << self; attr_accessor :user; end
21
+ @language = 'en-US'
22
+ class << self; attr_accessor :user, :language; end
22
23
  end
@@ -106,12 +106,13 @@ module StarkBank
106
106
  # - 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
107
  # - transactionIds [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
108
108
  # - status [string, default nil]: filter for status of retrieved objects. ex: 'success' or 'failed'
109
+ # - tax_id [string, default nil]: filter for transfers sent to the specified tax ID. ex: "012.345.678-90"
109
110
  # - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
110
111
  # - user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call
111
112
  #
112
113
  # ## Return:
113
114
  # - 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)
115
+ def self.query(limit: nil, after: nil, before: nil, transaction_ids: nil, status: nil, tax_id: nil, sort: nil, tags: nil, user: nil)
115
116
  after = StarkBank::Utils::Checks.check_date(after)
116
117
  before = StarkBank::Utils::Checks.check_date(before)
117
118
  StarkBank::Utils::Rest.get_list(
@@ -120,6 +121,7 @@ module StarkBank
120
121
  before: before,
121
122
  transaction_ids: transaction_ids,
122
123
  status: status,
124
+ tax_id: tax_id,
123
125
  sort: sort,
124
126
  tags: tags,
125
127
  user: user,
@@ -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-0.4.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
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: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - starkbank