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.
- checksums.yaml +4 -4
- data/.rubocop.yml +0 -3
- data/.yardopts +5 -0
- data/CHANGELOG.md +82 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +13 -1
- data/README.md +346 -134
- data/Rakefile +18 -1
- data/lib/brasil_api/address.rb +38 -0
- data/lib/brasil_api/b3.rb +49 -0
- data/lib/brasil_api/bank.rb +31 -0
- data/lib/brasil_api/base.rb +118 -2
- data/lib/brasil_api/business_days.rb +44 -0
- data/lib/brasil_api/cambio.rb +47 -0
- data/lib/brasil_api/cid10.rb +46 -0
- data/lib/brasil_api/company.rb +20 -0
- data/lib/brasil_api/configuration.rb +25 -0
- data/lib/brasil_api/cpf.rb +36 -0
- data/lib/brasil_api/cptec.rb +84 -0
- data/lib/brasil_api/cvm.rb +76 -2
- data/lib/brasil_api/ddd.rb +67 -0
- data/lib/brasil_api/error.rb +30 -1
- data/lib/brasil_api/fipe.rb +111 -6
- data/lib/brasil_api/geolocation.rb +35 -0
- data/lib/brasil_api/holiday.rb +25 -2
- data/lib/brasil_api/hospital.rb +157 -0
- data/lib/brasil_api/ibge.rb +164 -0
- data/lib/brasil_api/ibpt.rb +106 -0
- data/lib/brasil_api/igpm.rb +66 -0
- data/lib/brasil_api/isbn.rb +25 -0
- data/lib/brasil_api/ncm.rb +43 -0
- data/lib/brasil_api/pix.rb +19 -0
- data/lib/brasil_api/registrobr.rb +20 -0
- data/lib/brasil_api/solar.rb +33 -0
- data/lib/brasil_api/status.rb +30 -0
- data/lib/brasil_api/taxas.rb +31 -0
- data/lib/brasil_api/tuss.rb +121 -0
- data/lib/brasil_api/version.rb +7 -1
- data/lib/brasil_api.rb +23 -0
- metadata +16 -1
|
@@ -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
|
data/lib/brasil_api/version.rb
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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: []
|