A gem ibge-ruby permite vocĆŖ integrar a sua aplicaĆ§Ć£o Ruby on Rails com todos os serviƧos de localidade fornecidos pelo IBGE de maneira simples e rĆ”pida.
Adicione essa linha no Gemfile da sua aplicaĆ§Ć£o:
gem 'ibge-ruby'
E execute:
$ bundle
Ou instale diretamente com o comando:
$ gem install ibge-ruby
Cada link direciona para a documentaĆ§Ć£o do IBGE com a descriĆ§Ć£o do mĆ©todo, entrada e saĆda. Ao lado Ć© a referĆŖncia de como utilizĆ”-lo com a gem.
-
Distritos
- Distritos -
IBGE::Distrito.obter_distritos
- Distritos por identificador -
IBGE::Distrito.distritos_por_id(ids)
- Distritos por UF -
IBGE::Distrito.distritos_por_uf(ufs)
- Distritos por mesorregiĆ£o -
IBGE::Distrito.distritos_por_mesorregiao(mesorregioes)
- Distritos por microrregiĆ£o -
IBGE::Distrito.distritos_por_microrregiao(microrregioes)
- Distritos por municĆpio -
IBGE::Distrito.distritos_por_municipio(municipios)
- Distritos por regiĆ£o imediata -
IBGE::Distrito.distritos_por_regiao_imediata(regioes)
- Distritos por regiĆ£o intermediĆ”ria -
IBGE::Distrito.distritos_por_regiao_intermediaria(regioes)
- Distritos por regiĆ£o -
IBGE::Distrito.distritos_por_regiao(regioes)
- Distritos -
-
MesorregiƵes
- MesorregiƵes -
IBGE::Mesorregiao.obter_mesorregioes
- MesorregiƵes por identificador -
IBGE::Mesorregiao.mesorregioes_por_id(ids)
- MesorregiƵes por UF -
IBGE::Mesorregiao.mesorregioes_por_uf(ufs)
- MesorregiƵes por regiĆ£o -
IBGE::Mesorregiao.mesorregioes_por_regiao(regioes)
- MesorregiƵes -
-
MicrorregiƵes
- MicrorregiƵes -
IBGE::Microrregiao.obter_microrregioes
- MicrorregiƵes por identificador -
IBGE::Microrregiao.microrregioes_por_id(ids)
- MicrorregiƵes por UF -
IBGE::Microrregiao.microrregioes_por_uf(ufs)
- MicrorregiƵes por mesorregiĆ£o -
IBGE::Microrregiao.microrregioes_por_mesorregiao(mesorregioes)
- MicrorregiƵes por regiĆ£o -
IBGE::Microrregiao.microrregioes_por_masorregiao(masorregioes)
- MicrorregiƵes -
-
MunicĆpios
- MunicĆpios -
IBGE::Municipio.obter_municipios
- MunicĆpios por identificador -
IBGE::Municipio.municipios_por_id(ids)
- MunicĆpios por UF -
IBGE::Municipio.municipios_por_uf(ufs)
- MunicĆpios por mesorregiĆ£o -
IBGE::Municipio.municipios_por_mesorregiao(mesorregioes)
- MunicĆpios por microrregiĆ£o -
IBGE::Municipio.municipios_por_microrregiao(microrregioes)
- MunicĆpios por regiĆ£o imediata -
IBGE::Municipio.municipios_por_regiao_imediata(regioes)
- MunicĆpios por regiĆ£o intermediĆ”ria -
IBGE::Municipio.municipios_por_regiao_intermediaria(regioes)
- MunicĆpios por regiĆ£o -
IBGE::Municipio.municipios_por_regiao(regioes)
- MunicĆpios -
-
PaĆses
- PaĆses -
IBGE::Pais.obter_paises
- PaĆses por identificador -
IBGE::Pais.paises_por_identificador(ids)
- PaĆses -
-
RegiƵes
- RegiƵes -
IBGE::Regiao.obter_regioes
- RegiƵes por identificador -
IBGE::Regiao.regioes_por_identificador(ids)
- RegiƵes -
-
RegiƵes Imediatas
- RegiƵes imediatas -
IBGE::RegiaoImediata.obter_regioes_imediatas
- RegiƵes imediatas por identificador -
IBGE::RegiaoImediata.regioes_imediatas_por_id(ids)
- RegiƵes imediatas por UF -
IBGE::RegiaoImediata.regioes_imediatas_por_uf(ufs)
- RegiƵes imediatas por regiƵes intermediƔrias -
IBGE::RegiaoImediata.regioes_imediatas_por_intermediaria(regioes)
- RegiƵes imediatas por regiĆ£o -
IBGE::RegiaoImediata.regioes_imediatas_por_regiao(regioes)
- RegiƵes imediatas -
-
RegiƵes IntermediƔrias
- RegiƵes intermediƔrias -
IBGE::RegiaoIntermediaria.obter_regioes_intermediarias
- RegiƵes intermediƔrias por identificador -
IBGE::RegiaoIntermediaria.regioes_intermediarias_por_id(ids)
- RegiƵes intermediƔrias por UF -
IBGE::RegiaoIntermediaria.regioes_intermediarias_por_uf(ufs)
- RegiƵes intermediĆ”rias por regiĆ£o -
IBGE::RegiaoIntermediaria.regioes_intermediarias_por_regiao(regioes)
- RegiƵes intermediƔrias -
-
Subdistritos
- Subdistritos -
IBGE::Subdistrito.obter_subdistritos
- Subdistritos por identificador -
IBGE::Subdistrito.subdistritos_por_id(ids)
- Subdistritos por UF -
IBGE::Subdistrito.subdistritos_por_uf(ufs)
- Subdistritos por distrito -
IBGE::Subdistrito.subdistritos_por_distrito(distritos)
- Subdistritos por mesorregiĆ£o -
IBGE::Subdistrito.subdistritos_por_mesorregiao(mesorregioes)
- Subdistritos por microrregiĆ£o -
IBGE::Subdistrito.subdistritos_por_microrregiao(microrregioes)
- Subdistritos por municĆpio -
IBGE::Subdistrito.subdistritos_por_municipio(municipios)
- Subdistritos por regiĆ£o -
IBGE::Subdistrito.subdistritos_por_regiao(regioes)
- Subdistritos -
-
UFs
- UFs -
IBGE::UF.obter_ufs
- UF por identificador -
IBGE::UF.ufs_por_identificador(ids)
- UFs por regiĆ£o -
IBGE::UF.ufs_por_regiao(regioes)
- UFs -
- Nas referĆŖncias dos serviƧos, Ć© possĆvel enviar um ou mais parĆ¢metros delimitados pelo caractere | (pipe). Na gem, ao utilizar serviƧos em que Ć© possĆvel enviar vĆ”rios parĆ¢metros (quase todos), utilize o formato de array.
ā ServiƧo IBGE: 1|2|3
ā
Gem IBGE Ruby: [1, 2, 3]
ou ['1', '2', '3']
.
* Em alguns casos tambĆ©m Ć© possĆvel passar siglas. Verifique a seĆ§Ć£o Pesquisa por identificador (ID), sigla ou array de IDs/siglas.
- No momento, esta gem nĆ£o oferece suporte aos query parameters
orderBy
eview
. Contudo, no Ruby, Ć© possĆvel simular oorderBy
da seguinte forma:
# Sem order by
regioes = IBGE::Regiao.obter_regioes.map(&:nome) #=> ['Norte', 'Nordeste', 'Sudeste', 'Sul', 'Centro-Oeste']
# Comportamento similar ao orderBy com Ruby
regioes = IBGE::Regiao.obter_regioes.sort_by(&:nome).map(&:nome) #=> ['Centro-Oeste', 'Nordeste', 'Norte', 'Sudeste', 'Sul']
Abaixo estĆ£o alguns exemplos de utilizaĆ§Ć£o da gem. Verifique a documentaĆ§Ć£o para uma referĆŖncia mais completa.
require 'ibge'
paises = IBGE::Pais.obter_paises
paises.map(&:nome) #=> ['AfeganistĆ£o', 'AlbĆ¢nia', 'ArgĆ©lia', 'Andorra', 'Angola'...]
regioes = IBGE::Regiao.obter_regioes
regioes.map(&:nome) #=> ['Norte', 'Nordeste', 'Sudeste', 'Sul', 'Centro-Oeste']
regioes.first #=> #<IBGE::Regiao:0x0000555f7e83de38 @id=1, @nome="Norte", @sigla="N">
Em qualquer mĆ³dulo que possua um mĆ©todo que faƧa referĆŖncia aos recursos de RegiĆ£o ou UFs, Ć© possĆvel pesquisar pelo ID, sigla ou um array de IDs/siglas.
IBGE::Municipio.municipios_por_regiao('NE') #=> mesma coisa de IBGE::Municipio.municipios_por_regiao(2)
IBGE::Municipio.municipios_por_regiao(['N', 'NE']) #=> mesma coisa de IBGE::Municipio.municipios_por_regiao([1, 2])
IBGE::Distrito.distritos_por_uf('CE') #=> mesma coisa de IBGE::Distrito.distritos_por_uf(23)
IBGE::Distrito.distritos_por_uf(['BA', 'CE]) #=> mesma coisa de IBGE::Distrito.distritos_por_uf([29, 23])
- FaƧa um fork
- Crie uma branch com a funcionalidade (
git checkout -b nova_funcionalidade
) - FaƧa um commit das suas mudanƧas (
git commit -am "[add] nova funcionalidade"
) - FaƧa um push para a branch (
git push origin nova_funcionalidade
) - Crie um pull request