IBGE Ruby
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.
Instalação
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
Métodos
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 -
Observações
- 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
orderByeview. Contudo, no Ruby, é possível simular oorderByda 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']Utilização
Abaixo estão alguns exemplos de utilização da gem. Verifique a documentação para uma referência mais completa.
Países
require 'ibge'
paises = IBGE::Pais.obter_paises
paises.map(&:nome) #=> ['Afeganistão', 'Albânia', 'Argélia', 'Andorra', 'Angola'...]Regiões
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">Pesquisa por identificador (ID), sigla ou array de IDs/siglas
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])Contribuindo
- 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