ibge-ruby 1.0.2
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 +7 -0
- data/.gitignore +2 -0
- data/.rspec +3 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +79 -0
- data/README.md +155 -0
- data/Rakefile +1 -0
- data/ibge-ruby.gemspec +28 -0
- data/lib/ibge/distrito.rb +179 -0
- data/lib/ibge/mesorregiao.rb +92 -0
- data/lib/ibge/microrregiao.rb +110 -0
- data/lib/ibge/municipio.rb +164 -0
- data/lib/ibge/pais.rb +53 -0
- data/lib/ibge/regiao.rb +55 -0
- data/lib/ibge/regiao_imediata.rb +110 -0
- data/lib/ibge/regiao_intermediaria.rb +92 -0
- data/lib/ibge/subdistrito.rb +160 -0
- data/lib/ibge/uf.rb +73 -0
- data/lib/ibge/utils.rb +7 -0
- data/lib/ibge/version.rb +3 -0
- data/lib/ibge.rb +18 -0
- data/spec/lib/ibge/distrito_spec.rb +250 -0
- data/spec/lib/ibge/mesorregiao_spec.rb +144 -0
- data/spec/lib/ibge/microrregiao_spec.rb +166 -0
- data/spec/lib/ibge/municipio_spec.rb +228 -0
- data/spec/lib/ibge/pais_spec.rb +62 -0
- data/spec/lib/ibge/regiao_imediata_spec.rb +162 -0
- data/spec/lib/ibge/regiao_intermediaria_spec.rb +140 -0
- data/spec/lib/ibge/regiao_spec.rb +90 -0
- data/spec/lib/ibge/subdistrito_spec.rb +228 -0
- data/spec/lib/ibge/uf_spec.rb +130 -0
- data/spec/spec_helper.rb +28 -0
- data/spec/vcr_cassettes/distrito/distritos_por_id_230440005.yml +55 -0
- data/spec/vcr_cassettes/distrito/distritos_por_id_230440005_230370905.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_mesorregiao_2303.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_mesorregiao_2303_2304.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_microrregiao_23016.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_microrregiao_23016_23017.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_municipio_2307254.yml +53 -0
- data/spec/vcr_cassettes/distrito/distritos_por_municipio_2307254_2302206.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_regiao_NE.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_regiao_N_NE.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_regiao_imediata_230001.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_regiao_imediata_230001_230002.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_regiao_intermediaria_2301.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_regiao_intermediaria_2301_2302.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_uf_BA_CE.yml +47 -0
- data/spec/vcr_cassettes/distrito/distritos_por_uf_CE.yml +51 -0
- data/spec/vcr_cassettes/distrito/obter_distritos.yml +55 -0
- data/spec/vcr_cassettes/mesorregiao/mesorregioes_por_id_2303.yml +47 -0
- data/spec/vcr_cassettes/mesorregiao/mesorregioes_por_id_2303_2304.yml +47 -0
- data/spec/vcr_cassettes/mesorregiao/mesorregioes_por_regiao_NE.yml +53 -0
- data/spec/vcr_cassettes/mesorregiao/mesorregioes_por_regiao_N_NE.yml +47 -0
- data/spec/vcr_cassettes/mesorregiao/mesorregioes_por_uf_BA_CE.yml +47 -0
- data/spec/vcr_cassettes/mesorregiao/mesorregioes_por_uf_CE.yml +49 -0
- data/spec/vcr_cassettes/mesorregiao/obter_mesorregioes.yml +55 -0
- data/spec/vcr_cassettes/microrregiao/microrregioes_por_id_23016.yml +47 -0
- data/spec/vcr_cassettes/microrregiao/microrregioes_por_id_23016_23017.yml +47 -0
- data/spec/vcr_cassettes/microrregiao/microrregioes_por_mesorregiao_2303.yml +55 -0
- data/spec/vcr_cassettes/microrregiao/microrregioes_por_mesorregiao_2303_2304.yml +47 -0
- data/spec/vcr_cassettes/microrregiao/microrregioes_por_regiao_NE.yml +47 -0
- data/spec/vcr_cassettes/microrregiao/microrregioes_por_regiao_N_NE.yml +47 -0
- data/spec/vcr_cassettes/microrregiao/microrregioes_por_uf_BA_CE.yml +47 -0
- data/spec/vcr_cassettes/microrregiao/microrregioes_por_uf_CE.yml +53 -0
- data/spec/vcr_cassettes/microrregiao/obter_microrregioes.yml +53 -0
- data/spec/vcr_cassettes/municipio/municipios_por_id_2307254.yml +53 -0
- data/spec/vcr_cassettes/municipio/municipios_por_id_2307254_2302206.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_mesorregiao_2303.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_mesorregiao_2303_2304.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_microrregiao_23016.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_microrregiao_23016_23017.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_regiao_NE.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_regiao_N_NE.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_regiao_imediata_230001.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_regiao_imediata_230001_230002.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_regiao_intermediaria_2301.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_regiao_intermediaria_2301_2302.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_uf_BA_CE.yml +47 -0
- data/spec/vcr_cassettes/municipio/municipios_por_uf_CE.yml +51 -0
- data/spec/vcr_cassettes/municipio/obter_municipios.yml +51 -0
- data/spec/vcr_cassettes/pais/obter_paises.yml +53 -0
- data/spec/vcr_cassettes/pais/paises_por_identificador_76.yml +53 -0
- data/spec/vcr_cassettes/pais/paises_por_identificador_76_300.yml +47 -0
- data/spec/vcr_cassettes/regiao/obter_regioes.yml +53 -0
- data/spec/vcr_cassettes/regiao/regioes_por_identificador_NE.yml +48 -0
- data/spec/vcr_cassettes/regiao/regioes_por_identificador_N_NE.yml +48 -0
- data/spec/vcr_cassettes/regiao_imediata/obter_regioes_imediatas.yml +53 -0
- data/spec/vcr_cassettes/regiao_imediata/regioes_imediatas_por_id_230001.yml +47 -0
- data/spec/vcr_cassettes/regiao_imediata/regioes_imediatas_por_id_230001_230002.yml +47 -0
- data/spec/vcr_cassettes/regiao_imediata/regioes_imediatas_por_intermediaria_2301.yml +47 -0
- data/spec/vcr_cassettes/regiao_imediata/regioes_imediatas_por_intermediaria_2301_2302.yml +47 -0
- data/spec/vcr_cassettes/regiao_imediata/regioes_imediatas_por_regiao_NE.yml +49 -0
- data/spec/vcr_cassettes/regiao_imediata/regioes_imediatas_por_regiao_N_NE.yml +49 -0
- data/spec/vcr_cassettes/regiao_imediata/regioes_imediatas_por_uf_BA_CE.yml +47 -0
- data/spec/vcr_cassettes/regiao_imediata/regioes_imediatas_por_uf_CE.yml +53 -0
- data/spec/vcr_cassettes/regiao_intermediaria/obter_regioes_intermediarias.yml +53 -0
- data/spec/vcr_cassettes/regiao_intermediaria/regioes_intermediarias_por_id_2301.yml +47 -0
- data/spec/vcr_cassettes/regiao_intermediaria/regioes_intermediarias_por_id_2301_2302.yml +47 -0
- data/spec/vcr_cassettes/regiao_intermediaria/regioes_intermediarias_por_regiao_NE.yml +47 -0
- data/spec/vcr_cassettes/regiao_intermediaria/regioes_intermediarias_por_regiao_N_NE.yml +47 -0
- data/spec/vcr_cassettes/regiao_intermediaria/regioes_intermediarias_por_uf_BA_CE.yml +47 -0
- data/spec/vcr_cassettes/regiao_intermediaria/regioes_intermediarias_por_uf_CE.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/obter_subdistritos.yml +53 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_distrito_230440005.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_distrito_230440005_230370905.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_id_23044000512.yml +49 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_id_23044000512_23044006511.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_mesorregiao_23016.yml +46 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_mesorregiao_23016_23017.yml +46 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_mesorregiao_2303.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_mesorregiao_2303_2304.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_microrregiao_23016.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_microrregiao_23016_23017.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_municipio_2304400.yml +55 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_municipio_2304400_2927408.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_municipio_2307254.yml +46 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_municipio_2307254_2302206.yml +46 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_regiao_NE.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_regiao_N_NE.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_uf_BA_CE.yml +47 -0
- data/spec/vcr_cassettes/subdistrito/subdistritos_por_uf_CE.yml +53 -0
- data/spec/vcr_cassettes/uf/obter_ufs.yml +51 -0
- data/spec/vcr_cassettes/uf/ufs_por_identificador_BA_CE.yml +47 -0
- data/spec/vcr_cassettes/uf/ufs_por_identificador_CE.yml +55 -0
- data/spec/vcr_cassettes/uf/ufs_por_regiao_N.yml +53 -0
- data/spec/vcr_cassettes/uf/ufs_por_regiao_N_NE.yml +47 -0
- metadata +384 -0
data/lib/ibge/uf.rb
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
module IBGE
|
|
2
|
+
class UF
|
|
3
|
+
attr_accessor :id, :nome, :sigla, :regiao
|
|
4
|
+
|
|
5
|
+
def initialize(options = {})
|
|
6
|
+
@id = options['id']
|
|
7
|
+
@nome = options['nome']
|
|
8
|
+
@sigla = options['sigla']
|
|
9
|
+
@regiao = Regiao.new(options['regiao'])
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Obtém o conjunto de Unidades da Federação do Brasil.
|
|
13
|
+
#
|
|
14
|
+
# @example
|
|
15
|
+
# ufs = IBGE::UF.obter_ufs
|
|
16
|
+
# ufs.first.class #=> IBGE::UF
|
|
17
|
+
# ufs.first.nome #=> "Acre"
|
|
18
|
+
# ufs.map(&:sigla) #=> ['AC', 'AM', 'AP'...]
|
|
19
|
+
def self.obter_ufs
|
|
20
|
+
resposta = RestClient.get("#{BASE_URL}/estados")
|
|
21
|
+
|
|
22
|
+
tratar_retorno(resposta)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Obtém o conjunto de Unidades da Federação do Brasil a partir dos respectivos identificadores.
|
|
26
|
+
# Pode ser informada a sigla, identificador (ID) ou um array de siglas/identificadores.
|
|
27
|
+
#
|
|
28
|
+
# @param ufs [String, Integer, Array]
|
|
29
|
+
# @return [UF, Array<UF>]
|
|
30
|
+
#
|
|
31
|
+
# @example
|
|
32
|
+
# uf = IBGE::UF.uf_por_identificador('CE')
|
|
33
|
+
#
|
|
34
|
+
# ufs = IBGE::UF.ufs_por_identificador(['BA', 'CE'])
|
|
35
|
+
def self.ufs_por_identificador(ufs)
|
|
36
|
+
ufs = IBGE.formatar(ufs)
|
|
37
|
+
resposta = RestClient.get("#{BASE_URL}/estados/#{ufs}")
|
|
38
|
+
|
|
39
|
+
tratar_retorno(resposta)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Obtém o conjunto de Unidades da Federação do Brasil a partir dos identificadores das regiões.
|
|
43
|
+
# Pode ser informada a sigla, o identificador (ID) ou um array de siglas/identificadores.
|
|
44
|
+
#
|
|
45
|
+
# @param regioes [String, Integer, Array]
|
|
46
|
+
# @return [Array<UF>]
|
|
47
|
+
#
|
|
48
|
+
# @example
|
|
49
|
+
# ufs = IBGE::UF.ufs_por_regiao('NE')
|
|
50
|
+
# ufs.first.nome #=> "Maranhão"
|
|
51
|
+
#
|
|
52
|
+
# ufs = IBGE::UF.ufs_por_regiao(['NE', 'N'])
|
|
53
|
+
# ufs.map(&:nome) #=> ['Ceará', 'Amazonas'...]
|
|
54
|
+
def self.ufs_por_regiao(regioes)
|
|
55
|
+
regioes = IBGE.formatar(regioes)
|
|
56
|
+
resposta = RestClient.get("#{BASE_URL}/regioes/#{regioes}/estados")
|
|
57
|
+
|
|
58
|
+
tratar_retorno(resposta)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
private
|
|
62
|
+
|
|
63
|
+
def self.tratar_retorno(resposta)
|
|
64
|
+
ufs = JSON.parse(resposta.body)
|
|
65
|
+
|
|
66
|
+
if ufs.is_a?(Array)
|
|
67
|
+
ufs.map { |uf| UF.new(uf) }
|
|
68
|
+
else
|
|
69
|
+
UF.new(ufs)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
data/lib/ibge/utils.rb
ADDED
data/lib/ibge/version.rb
ADDED
data/lib/ibge.rb
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require 'rest-client'
|
|
2
|
+
require 'json'
|
|
3
|
+
require 'ibge/utils'
|
|
4
|
+
|
|
5
|
+
module IBGE
|
|
6
|
+
BASE_URL = 'https://servicodados.ibge.gov.br/api/v1/localidades'
|
|
7
|
+
|
|
8
|
+
autoload :Distrito, 'ibge/distrito'
|
|
9
|
+
autoload :Mesorregiao, 'ibge/mesorregiao'
|
|
10
|
+
autoload :Microrregiao, 'ibge/microrregiao'
|
|
11
|
+
autoload :Municipio, 'ibge/municipio'
|
|
12
|
+
autoload :Subdistrito, 'ibge/subdistrito'
|
|
13
|
+
autoload :Regiao, 'ibge/regiao'
|
|
14
|
+
autoload :RegiaoImediata, 'ibge/regiao_imediata'
|
|
15
|
+
autoload :RegiaoIntermediaria, 'ibge/regiao_intermediaria'
|
|
16
|
+
autoload :Pais, 'ibge/pais'
|
|
17
|
+
autoload :UF, 'ibge/uf'
|
|
18
|
+
end
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
describe IBGE::Distrito do
|
|
2
|
+
shared_examples_for 'objeto' do
|
|
3
|
+
it 'deve retornar o nome Fortaleza' do
|
|
4
|
+
expect(subject.first.nome).to eq('Fortaleza')
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it 'deve retornar o ID 230440005' do
|
|
8
|
+
expect(subject.first.id).to eq("230440005")
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'deve retornar o município, que é um objeto IBGE::Municipio' do
|
|
12
|
+
expect(subject.first.municipio).to be_an IBGE::Municipio
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
shared_examples_for 'array' do |tamanho|
|
|
17
|
+
it 'deve retornar um Array<IBGE::Distrito>' do
|
|
18
|
+
aggregate_failures do
|
|
19
|
+
is_expected.to be_an Array
|
|
20
|
+
expect(subject.first).to be_an IBGE::Distrito
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
describe '.obter_distritos' do
|
|
26
|
+
subject do
|
|
27
|
+
VCR.use_cassette('distrito/obter_distritos') do
|
|
28
|
+
IBGE::Distrito.obter_distritos
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it_has_behavior 'array'
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
describe '.distritos_por_id' do
|
|
36
|
+
context 'recebendo um array de IDs (["230440005", "230370905"]) como parâmetro' do
|
|
37
|
+
subject do
|
|
38
|
+
VCR.use_cassette('distrito/distritos_por_id:230440005|230370905', erb: { param: '230440005%7C230370905' }) do
|
|
39
|
+
IBGE::Distrito.distritos_por_id(%w(230440005 230370905))
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it_has_behavior 'array'
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
context 'recebendo um ID ("230440005") como parâmetro' do
|
|
47
|
+
subject do
|
|
48
|
+
VCR.use_cassette('distrito/distritos_por_id:230440005', erb: { param: '230440005' }) do
|
|
49
|
+
IBGE::Distrito.distritos_por_id('230440005')
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
it_has_behavior 'objeto'
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
describe '.distritos_por_uf' do
|
|
58
|
+
context 'recebendo um array de siglas (["BA", "CE"]) como parâmetro' do
|
|
59
|
+
subject do
|
|
60
|
+
VCR.use_cassette('distrito/distritos_por_uf:BA|CE', erb: { param: 'BA%7CCE' }) do
|
|
61
|
+
IBGE::Distrito.distritos_por_uf(%w(BA CE))
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it_has_behavior 'array'
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
context 'recebendo um array de IDs ([29, 23]) como parâmetro' do
|
|
69
|
+
subject do
|
|
70
|
+
VCR.use_cassette('distrito/distritos_por_uf:BA|CE', erb: { param: '29%7C23' }) do
|
|
71
|
+
IBGE::Distrito.distritos_por_uf([29, 23])
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
it_has_behavior 'array'
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
context 'recebendo uma sigla (CE) como parâmetro' do
|
|
79
|
+
subject do
|
|
80
|
+
VCR.use_cassette('distrito/distritos_por_uf:CE', erb: { param: 'CE' }) do
|
|
81
|
+
IBGE::Distrito.distritos_por_uf('CE')
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
it_has_behavior 'array'
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
context 'recebendo um ID (23) como parâmetro' do
|
|
89
|
+
subject do
|
|
90
|
+
VCR.use_cassette('distrito/distritos_por_uf:CE', erb: { param: 23 }) do
|
|
91
|
+
IBGE::Distrito.distritos_por_uf(23)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
it_has_behavior 'array'
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
describe '.distritos_por_regiao' do
|
|
100
|
+
context 'recebendo um array de siglas (["N", "NE"]) como parâmetro' do
|
|
101
|
+
subject do
|
|
102
|
+
VCR.use_cassette('distrito/distritos_por_regiao:N|NE', erb: { param: 'N%7CNE' }) do
|
|
103
|
+
IBGE::Distrito.distritos_por_regiao(%w(N NE))
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
it_has_behavior 'array'
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
context 'recebendo um array de IDs ([1, 2]) como parâmetro' do
|
|
111
|
+
subject do
|
|
112
|
+
VCR.use_cassette('distrito/distritos_por_regiao:N|NE', erb: { param: '1%7C2' }) do
|
|
113
|
+
IBGE::Distrito.distritos_por_regiao([1, 2])
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
it_has_behavior 'array'
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
context 'recebendo um ID (2) como parâmetro' do
|
|
121
|
+
subject do
|
|
122
|
+
VCR.use_cassette('distrito/distritos_por_regiao:NE', erb: { param: 2 }) do
|
|
123
|
+
IBGE::Distrito.distritos_por_regiao(2)
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
it_has_behavior 'array'
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
context 'recebendo uma sigla (NE) como parâmetro' do
|
|
131
|
+
subject do
|
|
132
|
+
VCR.use_cassette('distrito/distritos_por_regiao:NE', erb: { param: 'NE' }) do
|
|
133
|
+
IBGE::Distrito.distritos_por_regiao('NE')
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
it_has_behavior 'array'
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
describe '.distritos_por_municipio' do
|
|
142
|
+
context 'recebendo um array de IDs (["2307254", "2302206"]) como parâmetro' do
|
|
143
|
+
subject do
|
|
144
|
+
VCR.use_cassette('distrito/distritos_por_municipio:2307254|2302206', erb: { param: '2307254%7C2302206' }) do
|
|
145
|
+
IBGE::Distrito.distritos_por_municipio(['2307254', '2302206'])
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
it_has_behavior 'array'
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
context 'recebendo um ID ("2307254") como parâmetro' do
|
|
153
|
+
subject do
|
|
154
|
+
VCR.use_cassette('distrito/distritos_por_municipio:2307254', erb: { param: '2307254' }) do
|
|
155
|
+
IBGE::Distrito.distritos_por_municipio('2307254')
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
it_has_behavior 'array'
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
describe '.distritos_por_regiao_imediata' do
|
|
164
|
+
context 'recebendo um array de IDs ([230001, 230002]) como parâmetro' do
|
|
165
|
+
subject do
|
|
166
|
+
VCR.use_cassette('distrito/distritos_por_regiao_imediata:230001|230002', erb: { param: '230001%7C230002' }) do
|
|
167
|
+
IBGE::Distrito.distritos_por_regiao_imediata([230001, 230002])
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
it_has_behavior 'array'
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
context 'recebendo um ID (230001) como parâmetro' do
|
|
175
|
+
subject do
|
|
176
|
+
VCR.use_cassette('distrito/distritos_por_regiao_imediata:230001', erb: { param: '230001' }) do
|
|
177
|
+
IBGE::Distrito.distritos_por_regiao_imediata(230001)
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
it_has_behavior 'array'
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
describe '.distritos_por_regiao_intermediaria' do
|
|
186
|
+
context 'recebendo um array de IDs ([2301, 2302]) como parâmetro' do
|
|
187
|
+
subject do
|
|
188
|
+
VCR.use_cassette('distrito/distritos_por_regiao_intermediaria:2301|2302', erb: { param: '2301%7C23017' }) do
|
|
189
|
+
IBGE::Distrito.distritos_por_regiao_intermediaria([2301, 2302])
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
it_has_behavior 'array'
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
context 'recebendo um ID (2301) como parâmetro' do
|
|
197
|
+
subject do
|
|
198
|
+
VCR.use_cassette('distrito/distritos_por_regiao_intermediaria:2301', erb: { param: '2301' }) do
|
|
199
|
+
IBGE::Distrito.distritos_por_regiao_intermediaria(2301)
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
it_has_behavior 'array'
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
describe '.distritos_por_mesorregiao' do
|
|
208
|
+
context 'recebendo um array de IDs ([2303, 2304]) como parâmetro' do
|
|
209
|
+
subject do
|
|
210
|
+
VCR.use_cassette('distrito/distritos_por_mesorregiao:2303|2304', erb: { param: '2303%7C2304' }) do
|
|
211
|
+
IBGE::Distrito.distritos_por_mesorregiao([2303, 2304])
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
it_has_behavior 'array'
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
context 'recebendo um ID (2303) como parâmetro' do
|
|
219
|
+
subject do
|
|
220
|
+
VCR.use_cassette('distrito/distritos_por_mesorregiao:2303', erb: { param: '2303' }) do
|
|
221
|
+
IBGE::Distrito.distritos_por_mesorregiao(2303)
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
it_has_behavior 'array'
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
describe '.distritos_por_microrregiao' do
|
|
230
|
+
context 'recebendo um array de IDs ([23016, 23017]) como parâmetro' do
|
|
231
|
+
subject do
|
|
232
|
+
VCR.use_cassette('distrito/distritos_por_microrregiao:23016|23017', erb: { param: '23016%7C23017' }) do
|
|
233
|
+
IBGE::Distrito.distritos_por_microrregiao([23016, 23017])
|
|
234
|
+
end
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
it_has_behavior 'array'
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
context 'recebendo um ID (23016) como parâmetro' do
|
|
241
|
+
subject do
|
|
242
|
+
VCR.use_cassette('distrito/distritos_por_microrregiao:23016', erb: { param: '23016' }) do
|
|
243
|
+
IBGE::Distrito.distritos_por_microrregiao(23016)
|
|
244
|
+
end
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
it_has_behavior 'array'
|
|
248
|
+
end
|
|
249
|
+
end
|
|
250
|
+
end
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
describe IBGE::Mesorregiao do
|
|
2
|
+
shared_examples_for 'objeto' do
|
|
3
|
+
it 'deve retornar um objeto IBGE::Mesorregiao' do
|
|
4
|
+
is_expected.to be_an IBGE::Mesorregiao
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it 'deve retornar o nome Metropolitana de Fortaleza' do
|
|
8
|
+
expect(subject.nome).to eq('Metropolitana de Fortaleza')
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'deve retornar o ID 2303' do
|
|
12
|
+
expect(subject.id).to eq(2303)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'deve retornar a UF, que é um objeto IBGE::UF' do
|
|
16
|
+
expect(subject.uf).to be_an IBGE::UF
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
shared_examples_for 'array' do
|
|
21
|
+
it 'deve retornar um Array<IBGE::Mesorregiao>' do
|
|
22
|
+
aggregate_failures do
|
|
23
|
+
is_expected.to be_an Array
|
|
24
|
+
expect(subject.first).to be_an IBGE::Mesorregiao
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe '.obter_mesorregioes' do
|
|
30
|
+
subject do
|
|
31
|
+
VCR.use_cassette('mesorregiao/obter_mesorregioes') do
|
|
32
|
+
IBGE::Mesorregiao.obter_mesorregioes
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it_has_behavior 'array'
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
describe '.mesorregioes_por_uf' do
|
|
40
|
+
context 'recebendo um array de siglas (["BA", "CE"]) como parâmetro' do
|
|
41
|
+
subject do
|
|
42
|
+
VCR.use_cassette('mesorregiao/mesorregioes_por_uf:BA|CE', erb: { param: 'BA%7CCE' }) do
|
|
43
|
+
IBGE::Mesorregiao.mesorregioes_por_uf(%w(BA CE))
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
it_has_behavior 'array'
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
context 'recebendo um array de IDs ([29, 23]) como parâmetro' do
|
|
51
|
+
subject do
|
|
52
|
+
VCR.use_cassette('mesorregiao/mesorregioes_por_uf:BA|CE', erb: { param: '29%7C23' }) do
|
|
53
|
+
IBGE::Mesorregiao.mesorregioes_por_uf([29, 23])
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it_has_behavior 'array'
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
context 'recebendo uma sigla (CE) como parâmetro' do
|
|
61
|
+
subject do
|
|
62
|
+
VCR.use_cassette('mesorregiao/mesorregioes_por_uf:CE', erb: { param: 'CE' }) do
|
|
63
|
+
IBGE::Mesorregiao.mesorregioes_por_uf('CE')
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it_has_behavior 'array'
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
context 'recebendo um ID (23) como parâmetro' do
|
|
71
|
+
subject do
|
|
72
|
+
VCR.use_cassette('mesorregiao/mesorregioes_por_uf:CE', erb: { param: 23 }) do
|
|
73
|
+
IBGE::Mesorregiao.mesorregioes_por_uf(23)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
it_has_behavior 'array'
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
describe '.mesorregioes_por_regiao' do
|
|
82
|
+
context 'recebendo um array de siglas (["N", "NE"]) como parâmetro' do
|
|
83
|
+
subject do
|
|
84
|
+
VCR.use_cassette('mesorregiao/mesorregioes_por_regiao:N|NE', erb: { param: 'N%7CNE' }) do
|
|
85
|
+
IBGE::Mesorregiao.mesorregioes_por_regiao(%w(N NE))
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
it_has_behavior 'array'
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
context 'recebendo um array de IDs ([1, 2]) como parâmetro' do
|
|
93
|
+
subject do
|
|
94
|
+
VCR.use_cassette('mesorregiao/mesorregioes_por_regiao:N|NE', erb: { param: '1%7C2' }) do
|
|
95
|
+
IBGE::Mesorregiao.mesorregioes_por_regiao([1, 2])
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
it_has_behavior 'array'
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
context 'recebendo um ID (2) como parâmetro' do
|
|
103
|
+
subject do
|
|
104
|
+
VCR.use_cassette('mesorregiao/mesorregioes_por_regiao:NE', erb: { param: 2 }) do
|
|
105
|
+
IBGE::Mesorregiao.mesorregioes_por_regiao(2)
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
it_has_behavior 'array'
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
context 'recebendo uma sigla (NE) como parâmetro' do
|
|
113
|
+
subject do
|
|
114
|
+
VCR.use_cassette('mesorregiao/mesorregioes_por_regiao:NE', erb: { param: 'NE' }) do
|
|
115
|
+
IBGE::Mesorregiao.mesorregioes_por_regiao('NE')
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
it_has_behavior 'array'
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
describe '.mesorregioes_por_id' do
|
|
124
|
+
context 'recebendo um array de IDs ([2303, 2304]) como parâmetro' do
|
|
125
|
+
subject do
|
|
126
|
+
VCR.use_cassette('mesorregiao/mesorregioes_por_id:2303|2304', erb: { param: '2303|2304' }) do
|
|
127
|
+
IBGE::Mesorregiao.mesorregioes_por_id([2303, 2304])
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
it_has_behavior 'array'
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
context 'recebendo um ID (2303) como parâmetro' do
|
|
135
|
+
subject do
|
|
136
|
+
VCR.use_cassette('mesorregiao/mesorregioes_por_id:2303', erb: { param: '2303' }) do
|
|
137
|
+
IBGE::Mesorregiao.mesorregioes_por_id(2303)
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
it_has_behavior 'objeto'
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
end
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
describe IBGE::Microrregiao do
|
|
2
|
+
shared_examples_for 'objeto' do
|
|
3
|
+
it 'deve retornar um objeto IBGE::Microrregiao' do
|
|
4
|
+
is_expected.to be_an IBGE::Microrregiao
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it 'deve retornar o ID 23016' do
|
|
8
|
+
expect(subject.id).to eq(23016)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'deve retornar o nome Fortaleza' do
|
|
12
|
+
expect(subject.nome).to eq('Fortaleza')
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'deve retornar a mesorregião, que é um objeto IBGE::Mesorregiao' do
|
|
16
|
+
expect(subject.mesorregiao).to be_an IBGE::Mesorregiao
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
shared_examples_for 'array' do
|
|
21
|
+
it 'deve retornar um Array<IBGE::Microrregiao>' do
|
|
22
|
+
aggregate_failures do
|
|
23
|
+
is_expected.to be_an Array
|
|
24
|
+
expect(subject.first).to be_an IBGE::Microrregiao
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe '.obter_microrregioes' do
|
|
30
|
+
subject do
|
|
31
|
+
VCR.use_cassette('microrregiao/obter_microrregioes') do
|
|
32
|
+
IBGE::Microrregiao.obter_microrregioes
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it_has_behavior 'array'
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
describe '.microrregioes_por_id' do
|
|
40
|
+
context 'recebendo um array de IDs ([23016, 23017]) como parâmetro' do
|
|
41
|
+
subject do
|
|
42
|
+
VCR.use_cassette('microrregiao/microrregioes_por_id:23016|23017', erb: { param: '23016%7C23017' }) do
|
|
43
|
+
IBGE::Microrregiao.microrregioes_por_id([23016, 23017])
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
it_has_behavior 'array'
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
context 'recebendo um ID (23016) como parâmetro' do
|
|
51
|
+
subject do
|
|
52
|
+
VCR.use_cassette('microrregiao/microrregioes_por_id:23016', erb: { param: '23016' }) do
|
|
53
|
+
IBGE::Microrregiao.microrregioes_por_id(23016)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it_has_behavior 'objeto'
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
describe '.microrregioes_por_uf' do
|
|
62
|
+
context 'recebendo um array de siglas (["BA", "CE"]) como parâmetro' do
|
|
63
|
+
subject do
|
|
64
|
+
VCR.use_cassette('microrregiao/microrregioes_por_uf:BA|CE', erb: { param: 'BA%7CCE' }) do
|
|
65
|
+
IBGE::Microrregiao.microrregioes_por_uf(%w(BA CE))
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
it_has_behavior 'array'
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
context 'recebendo um array de IDs ([29, 23]) como parâmetro' do
|
|
73
|
+
subject do
|
|
74
|
+
VCR.use_cassette('microrregiao/microrregioes_por_uf:BA|CE', erb: { param: '29%7C23' }) do
|
|
75
|
+
IBGE::Microrregiao.microrregioes_por_uf([29, 23])
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
it_has_behavior 'array'
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
context 'recebendo uma sigla (CE) como parâmetro' do
|
|
83
|
+
subject do
|
|
84
|
+
VCR.use_cassette('microrregiao/microrregioes_por_uf:CE', erb: { param: 'CE' }) do
|
|
85
|
+
IBGE::Microrregiao.microrregioes_por_uf('CE')
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
it_has_behavior 'array'
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
context 'recebendo um ID (23) como parâmetro' do
|
|
93
|
+
subject do
|
|
94
|
+
VCR.use_cassette('microrregiao/microrregioes_por_uf:CE', erb: { param: 23 }) do
|
|
95
|
+
IBGE::Microrregiao.microrregioes_por_uf(23)
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
it_has_behavior 'array'
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
describe '.microrregioes_por_regiao' do
|
|
104
|
+
context 'recebendo um array de siglas (["N", "NE"]) como parâmetro' do
|
|
105
|
+
subject do
|
|
106
|
+
VCR.use_cassette('microrregiao/microrregioes_por_regiao:N|NE', erb: { param: 'N%7CNE' }) do
|
|
107
|
+
IBGE::Microrregiao.microrregioes_por_regiao(%w(N NE))
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
it_has_behavior 'array'
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
context 'recebendo um array de IDs ([1, 2]) como parâmetro' do
|
|
115
|
+
subject do
|
|
116
|
+
VCR.use_cassette('microrregiao/microrregioes_por_regiao:N|NE', erb: { param: '1%7C2' }) do
|
|
117
|
+
IBGE::Microrregiao.microrregioes_por_regiao([1, 2])
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
it_has_behavior 'array'
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
context 'recebendo um ID (2) como parâmetro' do
|
|
125
|
+
subject do
|
|
126
|
+
VCR.use_cassette('microrregiao/microrregioes_por_regiao:NE', erb: { param: 2 }) do
|
|
127
|
+
IBGE::Microrregiao.microrregioes_por_regiao(2)
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
it_has_behavior 'array'
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
context 'recebendo uma sigla (NE) como parâmetro' do
|
|
135
|
+
subject do
|
|
136
|
+
VCR.use_cassette('microrregiao/microrregioes_por_regiao:NE', erb: { param: 'NE' }) do
|
|
137
|
+
IBGE::Microrregiao.microrregioes_por_regiao('NE')
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
it_has_behavior 'array'
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
describe '.microrregioes_por_mesorregiao' do
|
|
146
|
+
context 'recebendo um array de IDs ([2303, 2304]) como parâmetro' do
|
|
147
|
+
subject do
|
|
148
|
+
VCR.use_cassette('microrregiao/microrregioes_por_mesorregiao:2303|2304', erb: { param: '2303%7C2304' }) do
|
|
149
|
+
IBGE::Microrregiao.microrregioes_por_mesorregiao([2303, 2304])
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
it_has_behavior 'array'
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
context 'recebendo um ID (2303) como parâmetro' do
|
|
157
|
+
subject do
|
|
158
|
+
VCR.use_cassette('microrregiao/microrregioes_por_mesorregiao:2303', erb: { param: '2303' }) do
|
|
159
|
+
IBGE::Microrregiao.microrregioes_por_mesorregiao(2303)
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
it_has_behavior 'array'
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
end
|