minato-utils 0.1.1 → 0.2.1

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: 01670db07941c0dc68be0ce9c9224f94d88c53cd5c5ec68683da61c583849fcb
4
- data.tar.gz: 3583a272ed589e7016bb37028e5b9caeacbbcc333377d9eeb99d07f210f1596c
3
+ metadata.gz: 6bc10d814c0e9102aad2fc41b3f36ee3bf42e8e62221e855967c1e7839a98e80
4
+ data.tar.gz: 0b1c1fbf289d59ff9db246f838c2ad46c625cd5990429af7e06ce4926aaf4db3
5
5
  SHA512:
6
- metadata.gz: bf8d6b71df86cd3fad67ce1e5023c8bdc3236b2483a9ac4eda01b6ee15cc0cdbaf287cf70083c001be9f30ece77334e7f40a2d48033cdef15ad21aa8978072e0
7
- data.tar.gz: 4b534d3b50d1a4ac7d7520642036798bcb75cc90c0676d00968a152152061a8caf7bb8ce4f1c5d5c636b7e3c43de4f67259b775b9d1b8b9e15df19e6cf9f94cc
6
+ metadata.gz: 007ea958aecc24ddcf66c158100368763001981a5aa19e529f646e62f020fe17a12778e0587e3422d3690719868d23dca0ba91556ec31965c9b48ab75f9cbcec
7
+ data.tar.gz: 55b48408b7cfa0d53ee20679edc8050f63bcefe13428e092e772b33f100ae890832e07de1dbca7b68761434b75eda50d23eb2a08e2cc145ce46663d32c2746a7
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
- minato-utils-*.gem
1
+ *.gem
2
+ *.code-workspace
data/.gitlab-ci.yml CHANGED
@@ -1,40 +1,5 @@
1
- image: docker:latest
1
+ include:
2
+ - project: 'ferreri/minato-projects/minato-ci'
3
+ ref: main
4
+ file: '/gem/.gitlab-ci.yml'
2
5
 
3
- stages:
4
- - test
5
-
6
- variables:
7
- IMAGE_REF: "$IMAGE:$CI_COMMIT_SHORT_SHA"
8
- KEY_FILE: "gcloud-service-key.json"
9
-
10
- .cmd_google_key: &cmd_google_key |-
11
- echo $GCLOUD_SERVICE_KEY | base64 -d > $KEY_FILE
12
-
13
- .cmd_auth_docker: &cmd_auth_docker |-
14
- cat $KEY_FILE | docker login -u _json_key --password-stdin https://gcr.io
15
-
16
- .auth_docker: &auth_docker
17
- before_script:
18
- - *cmd_google_key
19
- - *cmd_auth_docker
20
-
21
- rspec:
22
- <<: *auth_docker
23
- stage: test
24
- image: ruby:2.7.3
25
- only:
26
- - merge_requests
27
- - dev
28
- - main
29
- cache:
30
- paths:
31
- - vendor/ruby
32
- variables:
33
- RAILS_ENV: test
34
- BASE_PATH: /minato-ruby-utils
35
- before_script:
36
- - gem install bundler --no-document
37
- - bundle config set --local path 'vendor/ruby'
38
- - bundle install -j $(nproc)
39
- script:
40
- - bundle exec rspec
data/Gemfile.lock CHANGED
@@ -1,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- minato-utils (0.1.1)
4
+ minato-utils (0.2.0)
5
5
  activesupport (~> 6.0)
6
6
  httparty (~> 0.18)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activesupport (6.1.4.1)
11
+ activesupport (6.1.4.4)
12
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
13
13
  i18n (>= 1.6, < 2)
14
14
  minitest (>= 5.1)
@@ -33,10 +33,10 @@ GEM
33
33
  mime-types (3.4.1)
34
34
  mime-types-data (~> 3.2015)
35
35
  mime-types-data (3.2021.1115)
36
- minitest (5.14.4)
36
+ minitest (5.15.0)
37
37
  multi_xml (0.6.0)
38
38
  parallel (1.21.0)
39
- parser (3.0.2.0)
39
+ parser (3.0.3.2)
40
40
  ast (~> 2.4.1)
41
41
  pry (0.14.1)
42
42
  coderay (~> 1.1)
@@ -45,7 +45,7 @@ GEM
45
45
  rack (2.2.3)
46
46
  rainbow (3.0.0)
47
47
  rake (10.5.0)
48
- regexp_parser (2.1.1)
48
+ regexp_parser (2.2.0)
49
49
  rexml (3.2.5)
50
50
  rspec (3.10.0)
51
51
  rspec-core (~> 3.10.0)
@@ -69,7 +69,7 @@ GEM
69
69
  rubocop-ast (>= 1.12.0, < 2.0)
70
70
  ruby-progressbar (~> 1.7)
71
71
  unicode-display_width (>= 1.4.0, < 3.0)
72
- rubocop-ast (1.13.0)
72
+ rubocop-ast (1.15.0)
73
73
  parser (>= 3.0.1.1)
74
74
  rubocop-rails (2.12.4)
75
75
  activesupport (>= 4.2.0)
@@ -106,4 +106,4 @@ DEPENDENCIES
106
106
  webmock (~> 3.14)
107
107
 
108
108
  BUNDLED WITH
109
- 2.2.31
109
+ 2.2.33
data/README.md CHANGED
@@ -46,16 +46,16 @@ Para usar o cliente você vai precisar iniciar ele com `base_uri` e
46
46
  client = Minato::Utils::Client.new(base_uri: 'http://www.test.com', default_options: headers: { 'Content-type' => 'application/json' })
47
47
  ```
48
48
 
49
- Você pode usar todos os métodos HTTP para fazer requisições.
50
- Você também pode adicionar mais opções ou sobrescrever o padrão usando os
51
- métodos params:
49
+ Você pode usar todos os métodos HTTP para fazer requisições. Além disso, é
50
+ possível adicionar mais opções ou sobrescrever o padrão usando o método
51
+ `params`:
52
52
 
53
53
  ```ruby
54
54
  client.get('/path', headers: { 'X-Session-Token' => '123' })
55
55
  ```
56
56
 
57
- As falhas de solicitação irão gerar uma exceção do tipo `Minato::Utils::<Exception>`.
58
- As possíveis exceções são:
57
+ As falhas de solicitação produzirão uma exceção do tipo
58
+ `Minato::Utils::<Exception>`. As possíveis exceções são:
59
59
 
60
60
  ```ruby
61
61
  Minato::Utils::BadRequest
@@ -37,6 +37,7 @@ module Minato
37
37
  private
38
38
 
39
39
  def request(method, path, options)
40
+ return_headers = options.delete(:return_headers)
40
41
  request_options = @default_options.deep_merge(options)
41
42
  url = Minato::Utils::Helpers.join_url(@base_uri, path)
42
43
 
@@ -44,7 +45,7 @@ module Minato
44
45
  response = self.class.send(method, url, request_options)
45
46
 
46
47
  Minato::Utils.logger.log_response(method, @base_uri, path, request_options, response)
47
- Minato::Utils::ResponseHandler.handle(response)
48
+ Minato::Utils::ResponseHandler.handle(response, return_headers)
48
49
  end
49
50
  end
50
51
  end
@@ -7,15 +7,19 @@ module Minato
7
7
  module Utils
8
8
  class ResponseHandler
9
9
  class << self
10
- def handle(response)
10
+ def handle(response, return_headers)
11
11
  raise_exception(response) if response_error?(response)
12
12
 
13
- Minato::Utils::Helpers.parse_json(response.body)
13
+ if return_headers
14
+ { body: Minato::Utils::Helpers.parse_json(response.body), header: response.header }
15
+ else
16
+ Minato::Utils::Helpers.parse_json(response.body)
17
+ end
14
18
  end
15
19
 
16
20
  private
17
21
 
18
- SUCCESSFUL_RESPONSE_CODE = [200, 201, 204].freeze
22
+ SUCCESSFUL_RESPONSE_CODE = [200, 201, 204, 302].freeze
19
23
 
20
24
  EXCEPTION_HANDLERS_MAP = {
21
25
  400 => 'bad_request',
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Minato
4
4
  module Utils
5
- VERSION = '0.1.1'
5
+ VERSION = '0.2.1'
6
6
  end
7
7
  end
@@ -4,14 +4,14 @@ $LOAD_PATH.unshift File.expand_path('lib', __dir__)
4
4
  require 'minato/utils/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = 'minato-utils'
8
- spec.version = Minato::Utils::VERSION
9
- spec.authors = ['Ferreri']
10
- spec.email = ['contato@ferreri.co']
11
- spec.homepage = 'https://gitlab.com/ferreri/minato-projects/minato-ruby-utils'
12
- spec.license = 'MIT'
13
- spec.summary = 'Minato Ruby Utils'
14
- spec.description = 'common code across services'
7
+ spec.authors = ['Ferreri']
8
+ spec.description = 'Library to share common functionality across services'
9
+ spec.email = ['contato@ferreri.co']
10
+ spec.homepage = 'https://gitlab.com/ferreri/minato-projects/minato-ruby-utils'
11
+ spec.license = 'MIT'
12
+ spec.name = 'minato-utils'
13
+ spec.summary = 'Minato Ruby Utils'
14
+ spec.version = Minato::Utils::VERSION
15
15
 
16
16
  spec.required_ruby_version = '>= 2.7'
17
17
 
@@ -20,8 +20,8 @@ Gem::Specification.new do |spec|
20
20
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
21
21
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
22
  end
23
- spec.bindir = 'exe'
24
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.bindir = 'exe'
24
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ['lib']
26
26
 
27
27
  spec.add_dependency 'activesupport', '~> 6.0'
data/release-notes.md ADDED
@@ -0,0 +1,8 @@
1
+ # Release Notes
2
+
3
+ ## v0.2.0 - December 20th, 2021
4
+
5
+ ### Compatibility Notes
6
+
7
+ - `return_headers` was removed from method `Minato::Utils::Client#post`<br/>
8
+ Now you need to pass `return_headers` as a key to the hash parameter `options`.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minato-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ferreri
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-23 00:00:00.000000000 Z
11
+ date: 2021-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -178,7 +178,7 @@ dependencies:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
180
  version: '3.14'
181
- description: common code across services
181
+ description: Library to share common functionality across services
182
182
  email:
183
183
  - contato@ferreri.co
184
184
  executables: []
@@ -204,13 +204,14 @@ files:
204
204
  - lib/minato/utils/logger.rb
205
205
  - lib/minato/utils/response_handler.rb
206
206
  - lib/minato/utils/version.rb
207
- - minato-utils.gemspec
207
+ - minato-ruby-utils.gemspec
208
+ - release-notes.md
208
209
  homepage: https://gitlab.com/ferreri/minato-projects/minato-ruby-utils
209
210
  licenses:
210
211
  - MIT
211
212
  metadata:
212
213
  rubygems_mfa_required: 'true'
213
- post_install_message:
214
+ post_install_message:
214
215
  rdoc_options: []
215
216
  require_paths:
216
217
  - lib
@@ -226,7 +227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
227
  version: '0'
227
228
  requirements: []
228
229
  rubygems_version: 3.1.6
229
- signing_key:
230
+ signing_key:
230
231
  specification_version: 4
231
232
  summary: Minato Ruby Utils
232
233
  test_files: []