brasilapi 0.8.0 → 0.9.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.
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Cliente Ruby da {https://brasilapi.com.br BrasilAPI}.
4
+ #
5
+ # @example Bancos participantes do STR
6
+ # BrasilAPI::Bank.all
7
+ # @see https://brasilapi.com.br/docs
8
+ module BrasilAPI
9
+ # Terminologia Unificada da Saúde Suplementar.
10
+ #
11
+ # @see https://brasilapi.com.br/docs#tag/TUSS
12
+ class TUSS < Base
13
+ # Filtros de listagem, busca e autocompletar, e o nome enviado na query.
14
+ #
15
+ # @return [Hash{Symbol=>Symbol}]
16
+ PARAMS = {
17
+ query: :q,
18
+ name: :name,
19
+ code: :tuss,
20
+ match: :match,
21
+ sort: :sort,
22
+ order: :order,
23
+ fields: :fields,
24
+ limit: :limit,
25
+ offset: :offset
26
+ }.freeze
27
+
28
+ class << self
29
+ # Lista procedimentos da TUSS.
30
+ #
31
+ # @param filters [Hash] filtros opcionais
32
+ # @option filters [String] :query texto livre (+q+)
33
+ # @option filters [String] :name nome do procedimento
34
+ # @option filters [String] :code código TUSS (+tuss+)
35
+ # @option filters [String] :match modo de correspondência
36
+ # @option filters [String] :sort campo de ordenação
37
+ # @option filters [String] :order direção da ordenação
38
+ # @option filters [String] :fields campos devolvidos
39
+ # @option filters [Integer] :limit quantidade máxima de itens
40
+ # @option filters [Integer] :offset deslocamento da página
41
+ # @return [Hash] total e lista de procedimentos
42
+ # @raise [BrasilAPI::BadRequest] quando a BrasilAPI responde 400
43
+ # @raise [BrasilAPI::NotFound] quando a BrasilAPI responde 404
44
+ # @raise [BrasilAPI::ServerError] quando a BrasilAPI responde 5xx
45
+ # @raise [BrasilAPI::Timeout] quando a requisição estoura o tempo limite
46
+ # @raise [BrasilAPI::Error] em outras respostas de erro
47
+ # @example Primeiro procedimento
48
+ # BrasilAPI::TUSS.all(limit: 1)
49
+ # @see https://brasilapi.com.br/docs#tag/TUSS
50
+ def all(**filters)
51
+ get("/tuss/v1", translate(filters, PARAMS))
52
+ end
53
+
54
+ # Busca um procedimento pelo código TUSS.
55
+ #
56
+ # @param code [String, Integer] código do procedimento
57
+ # @return [Hash] descrição do procedimento
58
+ # @raise [BrasilAPI::BadRequest] quando a BrasilAPI responde 400
59
+ # @raise [BrasilAPI::NotFound] quando o código não existe
60
+ # @raise [BrasilAPI::ServerError] quando a BrasilAPI responde 5xx
61
+ # @raise [BrasilAPI::Timeout] quando a requisição estoura o tempo limite
62
+ # @raise [BrasilAPI::Error] em outras respostas de erro
63
+ # @example Consulta em consultório
64
+ # BrasilAPI::TUSS.find_by_code("10101012")
65
+ # @see https://brasilapi.com.br/docs#tag/TUSS
66
+ def find_by_code(code)
67
+ get("/tuss/v1/#{code}")
68
+ end
69
+
70
+ # Procura procedimentos por texto e filtros.
71
+ #
72
+ # @param filters [Hash] filtros opcionais; as chaves são as de {PARAMS}
73
+ # @option filters [String] :query texto livre (+q+)
74
+ # @option filters [String] :name nome do procedimento
75
+ # @option filters [String] :code código TUSS (+tuss+)
76
+ # @option filters [String] :match modo de correspondência
77
+ # @option filters [String] :sort campo de ordenação
78
+ # @option filters [String] :order direção da ordenação
79
+ # @option filters [String] :fields campos devolvidos
80
+ # @option filters [Integer] :limit quantidade máxima de itens
81
+ # @option filters [Integer] :offset deslocamento da página
82
+ # @return [Hash] total e procedimentos encontrados
83
+ # @raise [BrasilAPI::BadRequest] quando a BrasilAPI responde 400
84
+ # @raise [BrasilAPI::NotFound] quando a BrasilAPI responde 404
85
+ # @raise [BrasilAPI::ServerError] quando a BrasilAPI responde 5xx
86
+ # @raise [BrasilAPI::Timeout] quando a requisição estoura o tempo limite
87
+ # @raise [BrasilAPI::Error] em outras respostas de erro
88
+ # @example
89
+ # BrasilAPI::TUSS.search(query: "consulta", limit: 1)
90
+ # @see https://brasilapi.com.br/docs#tag/TUSS
91
+ def search(**filters)
92
+ get("/tuss/v1/search", translate(filters, PARAMS))
93
+ end
94
+
95
+ # Sugere procedimentos a partir de um prefixo.
96
+ #
97
+ # @param filters [Hash] filtros opcionais; as chaves são as de {PARAMS}
98
+ # @option filters [String] :query texto livre (+q+)
99
+ # @option filters [String] :name nome do procedimento
100
+ # @option filters [String] :code código TUSS (+tuss+)
101
+ # @option filters [String] :match modo de correspondência
102
+ # @option filters [String] :sort campo de ordenação
103
+ # @option filters [String] :order direção da ordenação
104
+ # @option filters [String] :fields campos devolvidos
105
+ # @option filters [Integer] :limit quantidade máxima de itens
106
+ # @option filters [Integer] :offset deslocamento da página
107
+ # @return [Hash] sugestões de procedimentos
108
+ # @raise [BrasilAPI::BadRequest] quando a BrasilAPI responde 400
109
+ # @raise [BrasilAPI::NotFound] quando a BrasilAPI responde 404
110
+ # @raise [BrasilAPI::ServerError] quando a BrasilAPI responde 5xx
111
+ # @raise [BrasilAPI::Timeout] quando a requisição estoura o tempo limite
112
+ # @raise [BrasilAPI::Error] em outras respostas de erro
113
+ # @example
114
+ # BrasilAPI::TUSS.autocomplete(query: "cons", limit: 5)
115
+ # @see https://brasilapi.com.br/docs#tag/TUSS
116
+ def autocomplete(**filters)
117
+ get("/tuss/v1/autocomplete", translate(filters, PARAMS))
118
+ end
119
+ end
120
+ end
121
+ end
@@ -1,5 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Cliente Ruby da {https://brasilapi.com.br BrasilAPI}.
4
+ #
5
+ # @example Bancos participantes do STR
6
+ # BrasilAPI::Bank.all
7
+ # @see https://brasilapi.com.br/docs
3
8
  module BrasilAPI
4
- VERSION = "0.8.0"
9
+ # Versão publicada da gem, no formato +MAJOR.MINOR.PATCH+.
10
+ VERSION = "0.9.0"
5
11
  end
data/lib/brasil_api.rb CHANGED
@@ -1,5 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Cliente Ruby da {https://brasilapi.com.br BrasilAPI}.
4
+ #
5
+ # Cada família de endpoint é uma classe com métodos de classe.
6
+ #
7
+ # @example Bancos participantes do STR
8
+ # BrasilAPI::Bank.all
9
+ # @see https://brasilapi.com.br/docs
10
+ module BrasilAPI
11
+ end
12
+
3
13
  require_relative "brasil_api/version"
4
14
  require_relative "brasil_api/configuration"
5
15
  require_relative "brasil_api/error"
@@ -17,3 +27,16 @@ require_relative "brasil_api/ncm"
17
27
  require_relative "brasil_api/pix"
18
28
  require_relative "brasil_api/registrobr"
19
29
  require_relative "brasil_api/taxas"
30
+ require_relative "brasil_api/b3"
31
+ require_relative "brasil_api/business_days"
32
+ require_relative "brasil_api/cambio"
33
+ require_relative "brasil_api/cid10"
34
+ require_relative "brasil_api/cpf"
35
+ require_relative "brasil_api/ddd"
36
+ require_relative "brasil_api/geolocation"
37
+ require_relative "brasil_api/hospital"
38
+ require_relative "brasil_api/ibpt"
39
+ require_relative "brasil_api/igpm"
40
+ require_relative "brasil_api/solar"
41
+ require_relative "brasil_api/status"
42
+ require_relative "brasil_api/tuss"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brasilapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dayvid Emerson
@@ -26,6 +26,7 @@ extra_rdoc_files: []
26
26
  files:
27
27
  - ".rspec"
28
28
  - ".rubocop.yml"
29
+ - ".yardopts"
29
30
  - CHANGELOG.md
30
31
  - CODE_OF_CONDUCT.md
31
32
  - Gemfile
@@ -35,21 +36,34 @@ files:
35
36
  - Rakefile
36
37
  - lib/brasil_api.rb
37
38
  - lib/brasil_api/address.rb
39
+ - lib/brasil_api/b3.rb
38
40
  - lib/brasil_api/bank.rb
39
41
  - lib/brasil_api/base.rb
42
+ - lib/brasil_api/business_days.rb
43
+ - lib/brasil_api/cambio.rb
44
+ - lib/brasil_api/cid10.rb
40
45
  - lib/brasil_api/company.rb
41
46
  - lib/brasil_api/configuration.rb
47
+ - lib/brasil_api/cpf.rb
42
48
  - lib/brasil_api/cptec.rb
43
49
  - lib/brasil_api/cvm.rb
50
+ - lib/brasil_api/ddd.rb
44
51
  - lib/brasil_api/error.rb
45
52
  - lib/brasil_api/fipe.rb
53
+ - lib/brasil_api/geolocation.rb
46
54
  - lib/brasil_api/holiday.rb
55
+ - lib/brasil_api/hospital.rb
47
56
  - lib/brasil_api/ibge.rb
57
+ - lib/brasil_api/ibpt.rb
58
+ - lib/brasil_api/igpm.rb
48
59
  - lib/brasil_api/isbn.rb
49
60
  - lib/brasil_api/ncm.rb
50
61
  - lib/brasil_api/pix.rb
51
62
  - lib/brasil_api/registrobr.rb
63
+ - lib/brasil_api/solar.rb
64
+ - lib/brasil_api/status.rb
52
65
  - lib/brasil_api/taxas.rb
66
+ - lib/brasil_api/tuss.rb
53
67
  - lib/brasil_api/version.rb
54
68
  - lib/brasilapi.rb
55
69
  homepage: https://brasilapi.com.br
@@ -59,6 +73,7 @@ metadata:
59
73
  homepage_uri: https://brasilapi.com.br
60
74
  source_code_uri: https://github.com/dayvidemerson/brasilapi-rb
61
75
  changelog_uri: https://github.com/dayvidemerson/brasilapi-rb/blob/main/CHANGELOG.md
76
+ documentation_uri: https://rubydoc.info/gems/brasilapi
62
77
  rubygems_mfa_required: 'true'
63
78
  github_repo: ssh://github.com/dayvidemerson/brasilapi-rb
64
79
  rdoc_options: []