{"id":15890373,"url":"https://github.com/andreaflether/ibge-ruby","last_synced_at":"2026-05-19T02:04:11.650Z","repository":{"id":56877184,"uuid":"444944790","full_name":"andreaflether/ibge-ruby","owner":"andreaflether","description":"🇧🇷 Gem que realiza a integração da sua aplicação Ruby com todos os serviços de localidade fornecidos pelo IBGE.","archived":false,"fork":false,"pushed_at":"2022-06-05T19:58:27.000Z","size":2692,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-27T02:02:21.545Z","etag":null,"topics":["gem","ibge","localidade","rails","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreaflether.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-05T20:43:38.000Z","updated_at":"2022-06-15T12:37:07.000Z","dependencies_parsed_at":"2022-08-20T23:10:31.424Z","dependency_job_id":null,"html_url":"https://github.com/andreaflether/ibge-ruby","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaflether%2Fibge-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaflether%2Fibge-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaflether%2Fibge-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaflether%2Fibge-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreaflether","download_url":"https://codeload.github.com/andreaflether/ibge-ruby/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246856688,"owners_count":20844974,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gem","ibge","localidade","rails","ruby"],"created_at":"2024-10-06T07:05:29.503Z","updated_at":"2026-05-19T02:04:11.604Z","avatar_url":"https://github.com/andreaflether.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IBGE Ruby\n\n[![Gem Version](https://badge.fury.io/rb/ibge-ruby.svg)](http://badge.fury.io/rb/ibge-ruby)\n\nA gem ibge-ruby permite você integrar a sua aplicação Ruby on Rails com todos os [serviços de localidade](https://servicodados.ibge.gov.br/api/docs/localidades) fornecidos pelo IBGE de maneira simples e rápida.\n\n## Instalação\n\nAdicione essa linha no Gemfile da sua aplicação:\n\n    gem 'ibge-ruby'\n\nE execute:\n\n    $ bundle\n\nOu instale diretamente com o comando:\n\n    $ gem install ibge-ruby\n\n## Métodos\n\nCada 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.\n\n* __Distritos__\n  * [Distritos](https://servicodados.ibge.gov.br/api/docs/localidades#api-Distritos-distritosGet) - `IBGE::Distrito.obter_distritos`\n  * [Distritos por identificador](https://servicodados.ibge.gov.br/api/docs/localidades#api-Distritos-distritosIdGet) - `IBGE::Distrito.distritos_por_id(ids)`\n  * [Distritos por UF](https://servicodados.ibge.gov.br/api/docs/localidades#api-Distritos-estadosUFDistritosGet) - `IBGE::Distrito.distritos_por_uf(ufs)`\n  * [Distritos por mesorregião](https://servicodados.ibge.gov.br/api/docs/localidades#api-Distritos-mesorregioesMesorregiaoDistritosGet) - `IBGE::Distrito.distritos_por_mesorregiao(mesorregioes)`\n  * [Distritos por microrregião](https://servicodados.ibge.gov.br/api/docs/localidades#api-Distritos-microrregioesMicrorregiaoDistritosGet) - `IBGE::Distrito.distritos_por_microrregiao(microrregioes)`\n  * [Distritos por município](https://servicodados.ibge.gov.br/api/docs/localidades#api-Distritos-municipiosMunicipioDistritosGet) - `IBGE::Distrito.distritos_por_municipio(municipios)`\n  * [Distritos por região imediata](https://servicodados.ibge.gov.br/api/docs/localidades#api-Distritos-regioesImediatasRegiaoImediataDistritosGet) - `IBGE::Distrito.distritos_por_regiao_imediata(regioes)`\n  * [Distritos por região intermediária](https://servicodados.ibge.gov.br/api/docs/localidades#api-Distritos-regioesIntermediariasRegiaoIntermediariaDistritosGet) - `IBGE::Distrito.distritos_por_regiao_intermediaria(regioes)`\n  * [Distritos por região](https://servicodados.ibge.gov.br/api/docs/localidades#api-Distritos-regioesMacrorregiaoDistritosGet) - `IBGE::Distrito.distritos_por_regiao(regioes)`\n\n* __Mesorregiões__\n  * [Mesorregiões](https://servicodados.ibge.gov.br/api/docs/localidades#api-Mesorregioes-mesorregioesGet) - `IBGE::Mesorregiao.obter_mesorregioes`\n  * [Mesorregiões por identificador](https://servicodados.ibge.gov.br/api/docs/localidades#api-Mesorregioes-mesorregioesMesorregiaoGet) - `IBGE::Mesorregiao.mesorregioes_por_id(ids)`\n  * [Mesorregiões por UF](https://servicodados.ibge.gov.br/api/docs/localidades#api-Mesorregioes-estadosUFMesorregioesGet) - `IBGE::Mesorregiao.mesorregioes_por_uf(ufs)`\n  * [Mesorregiões por região](https://servicodados.ibge.gov.br/api/docs/localidades#api-Mesorregioes-regioesMacrorregiaoMesorregioesGet) - `IBGE::Mesorregiao.mesorregioes_por_regiao(regioes)` \n  \n* __Microrregiões__\n  * [Microrregiões](https://servicodados.ibge.gov.br/api/docs/localidades#api-Microrregioes-microrregioesGet) - `IBGE::Microrregiao.obter_microrregioes`\n  * [Microrregiões por identificador](https://servicodados.ibge.gov.br/api/docs/localidades#api-Microrregioes-microrregioesMicrorregiaoGet) - `IBGE::Microrregiao.microrregioes_por_id(ids)`\n  * [Microrregiões por UF](https://servicodados.ibge.gov.br/api/docs/localidades#api-Microrregioes-estadosUFMicrorregioesGet) - `IBGE::Microrregiao.microrregioes_por_uf(ufs)`\n  * [Microrregiões por mesorregião](https://servicodados.ibge.gov.br/api/docs/localidades#api-Microrregioes-mesorregioesMesorregiaoMicrorregioesGet) - `IBGE::Microrregiao.microrregioes_por_mesorregiao(mesorregioes)`\n  * [Microrregiões por região](https://servicodados.ibge.gov.br/api/docs/localidades#api-Microrregioes-regioesMacrorregiaoMicrorregioesGet) - `IBGE::Microrregiao.microrregioes_por_masorregiao(masorregioes)`\n\n* __Municípios__\n  * [Municípios](https://servicodados.ibge.gov.br/api/docs/localidades#api-Municipios-municipiosGet) - `IBGE::Municipio.obter_municipios`\n  * [Municípios por identificador](https://servicodados.ibge.gov.br/api/docs/localidades#api-Municipios-municipiosMunicipioGet) - `IBGE::Municipio.municipios_por_id(ids)`\n  * [Municípios por UF](https://servicodados.ibge.gov.br/api/docs/localidades#api-Municipios-estadosUFMunicipiosGet) - `IBGE::Municipio.municipios_por_uf(ufs)`\n  * [Municípios por mesorregião](https://servicodados.ibge.gov.br/api/docs/localidades#api-Municipios-mesorregioesMesorregiaoMunicipiosGet) - `IBGE::Municipio.municipios_por_mesorregiao(mesorregioes)`\n  * [Municípios por microrregião](https://servicodados.ibge.gov.br/api/docs/localidades#api-Municipios-microrregioesMicrorregiaoMunicipiosGet) - `IBGE::Municipio.municipios_por_microrregiao(microrregioes)`\n  * [Municípios por região imediata](https://servicodados.ibge.gov.br/api/docs/localidades#api-Municipios-regioesImediatasRegiaoImediataMunicipiosGet) - `IBGE::Municipio.municipios_por_regiao_imediata(regioes)`\n  * [Municípios por região intermediária](https://servicodados.ibge.gov.br/api/docs/localidades#api-Municipios-regioesIntermediariasRegiaoIntermediariaMunicipiosGet) - `IBGE::Municipio.municipios_por_regiao_intermediaria(regioes)`\n  * [Municípios por região](https://servicodados.ibge.gov.br/api/docs/localidades#api-Municipios-regioesMacrorregiaoMunicipiosGet) - `IBGE::Municipio.municipios_por_regiao(regioes)`\n  \n* __Países__\n  * [Países](https://servicodados.ibge.gov.br/api/docs/localidades#api-Paises-paisesGet) - `IBGE::Pais.obter_paises`\n  * [Países por identificador](https://servicodados.ibge.gov.br/api/docs/localidades#api-Paises-paisesPaisGet) - `IBGE::Pais.paises_por_identificador(ids)`\n  \n* __Regiões__\n  * [Regiões](https://servicodados.ibge.gov.br/api/docs/localidades#api-Regioes-regioesGet) - `IBGE::Regiao.obter_regioes`\n  * [Regiões por identificador](https://servicodados.ibge.gov.br/api/docs/localidades#api-Regioes-regioesMacrorregiaoGet) - `IBGE::Regiao.regioes_por_identificador(ids)`\n  \n* __Regiões Imediatas__\n  * [Regiões imediatas](https://servicodados.ibge.gov.br/api/docs/localidades#api-RegioesImediatas-regioesImediatasGet) - `IBGE::RegiaoImediata.obter_regioes_imediatas`\n  * [Regiões imediatas por identificador](https://servicodados.ibge.gov.br/api/docs/localidades#api-RegioesImediatas-regioesImediatasRegiaoImediataGet) - `IBGE::RegiaoImediata.regioes_imediatas_por_id(ids)`\n  * [Regiões imediatas por UF](https://servicodados.ibge.gov.br/api/docs/localidades#api-RegioesImediatas-estadosUFRegioesImediatasGet) - `IBGE::RegiaoImediata.regioes_imediatas_por_uf(ufs)`\n  * [Regiões imediatas por regiões intermediárias](https://servicodados.ibge.gov.br/api/docs/localidades#api-RegioesImediatas-regioesIntermediariasRegiaoIntermediariaRegioesImediatasGet) - `IBGE::RegiaoImediata.regioes_imediatas_por_intermediaria(regioes)`\n  * [Regiões imediatas por região](https://servicodados.ibge.gov.br/api/docs/localidades#api-RegioesImediatas-regioesMacrorregiaoRegioesImediatasGet) - `IBGE::RegiaoImediata.regioes_imediatas_por_regiao(regioes)`\n  \n* __Regiões Intermediárias__\n  * [Regiões intermediárias](https://servicodados.ibge.gov.br/api/docs/localidades#api-RegioesIntermediarias-regioesIntermediariasGet) - `IBGE::RegiaoIntermediaria.obter_regioes_intermediarias`\n  * [Regiões intermediárias por identificador](https://servicodados.ibge.gov.br/api/docs/localidades#api-RegioesIntermediarias-regioesIntermediariasRegiaoIntermediariaGet) - `IBGE::RegiaoIntermediaria.regioes_intermediarias_por_id(ids)`\n  * [Regiões intermediárias por UF](https://servicodados.ibge.gov.br/api/docs/localidades#api-RegioesIntermediarias-estadosUFRegioesIntermediariasGet) - `IBGE::RegiaoIntermediaria.regioes_intermediarias_por_uf(ufs)`\n  * [Regiões intermediárias por região](https://servicodados.ibge.gov.br/api/docs/localidades#api-RegioesIntermediarias-regioesMacrorregiaoRegioesIntermediariasGet) - `IBGE::RegiaoIntermediaria.regioes_intermediarias_por_regiao(regioes)`\n  \n* __Subdistritos__\n  * [Subdistritos](https://servicodados.ibge.gov.br/api/docs/localidades#api-Subdistritos-subdistritosGet) - `IBGE::Subdistrito.obter_subdistritos`\n  * [Subdistritos por identificador](https://servicodados.ibge.gov.br/api/docs/localidades#api-Subdistritos-subdistritosIdGet) - `IBGE::Subdistrito.subdistritos_por_id(ids)`\n  * [Subdistritos por UF](https://servicodados.ibge.gov.br/api/docs/localidades#api-Subdistritos-estadosUFSubdistritosGet) - `IBGE::Subdistrito.subdistritos_por_uf(ufs)`\n  * [Subdistritos por distrito](https://servicodados.ibge.gov.br/api/docs/localidades#api-Subdistritos-distritosDistritoSubdistritosGet) - `IBGE::Subdistrito.subdistritos_por_distrito(distritos)`\n  * [Subdistritos por mesorregião](https://servicodados.ibge.gov.br/api/docs/localidades#api-Subdistritos-mesorregioesMesorregiaoSubdistritosGet) - `IBGE::Subdistrito.subdistritos_por_mesorregiao(mesorregioes)`\n  * [Subdistritos por microrregião](https://servicodados.ibge.gov.br/api/docs/localidades#api-Subdistritos-microrregioesMicrorregiaoSubdistritosGet) - `IBGE::Subdistrito.subdistritos_por_microrregiao(microrregioes)`\n  * [Subdistritos por município](https://servicodados.ibge.gov.br/api/docs/localidades#api-Subdistritos-municipiosMunicipioSubdistritosGet) - `IBGE::Subdistrito.subdistritos_por_municipio(municipios)`\n  * [Subdistritos por região](https://servicodados.ibge.gov.br/api/docs/localidades#api-Subdistritos-regioesMacrorregiaoSubdistritosGet) - `IBGE::Subdistrito.subdistritos_por_regiao(regioes)`\n  \n* __UFs__\n  * [UFs](https://servicodados.ibge.gov.br/api/docs/localidades#api-UFs-estadosGet) - `IBGE::UF.obter_ufs`\n  * [UF por identificador](https://servicodados.ibge.gov.br/api/docs/localidades#api-UFs-estadosUFGet) - `IBGE::UF.ufs_por_identificador(ids)`\n  * [UFs por região](https://servicodados.ibge.gov.br/api/docs/localidades#api-UFs-regioesMacrorregiaoEstadosGet) - `IBGE::UF.ufs_por_regiao(regioes)`\n\n### Observações\n\n1. Nas referências dos serviços, é possível enviar um ou mais parâmetros delimitados pelo caractere | (pipe). \nNa gem, ao utilizar serviços em que é possível enviar vários parâmetros (quase todos), utilize o formato de **array**.\n\n❌ **Serviço IBGE**: `1|2|3`\n\n✅ **Gem IBGE Ruby**: `[1, 2, 3]` ou `['1', '2', '3']`.\n\n\u003csub\u003e* Em alguns casos também é possível passar siglas. Verifique a seção Pesquisa por identificador (ID), sigla ou array de IDs/siglas.\u003c/sub\u003e\n\n2. No momento, esta gem não oferece suporte aos query parameters `orderBy` e `view`. Contudo, no Ruby, é possível simular o `orderBy` da seguinte forma:\n\n```ruby\n# Sem order by\nregioes = IBGE::Regiao.obter_regioes.map(\u0026:nome) #=\u003e ['Norte', 'Nordeste', 'Sudeste', 'Sul', 'Centro-Oeste']\n\n# Comportamento similar ao orderBy com Ruby\nregioes = IBGE::Regiao.obter_regioes.sort_by(\u0026:nome).map(\u0026:nome) #=\u003e ['Centro-Oeste', 'Nordeste', 'Norte', 'Sudeste', 'Sul']\n```\n\n## Utilização\n\nAbaixo estão alguns exemplos de utilização da gem. Verifique a [documentação](https://www.rubydoc.info/gems/ibge-ruby/IBGE) para uma referência mais completa.\n\n### Países\n\n```ruby\nrequire 'ibge'\n\npaises = IBGE::Pais.obter_paises\npaises.map(\u0026:nome) #=\u003e ['Afeganistão', 'Albânia', 'Argélia', 'Andorra', 'Angola'...]\n```\n\n### Regiões\n\n```ruby\nregioes = IBGE::Regiao.obter_regioes\nregioes.map(\u0026:nome) #=\u003e ['Norte', 'Nordeste', 'Sudeste', 'Sul', 'Centro-Oeste']\nregioes.first #=\u003e #\u003cIBGE::Regiao:0x0000555f7e83de38 @id=1, @nome=\"Norte\", @sigla=\"N\"\u003e\n```\n\n### Pesquisa por identificador (ID), sigla ou array de IDs/siglas\n\nEm 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.\n\n```ruby\nIBGE::Municipio.municipios_por_regiao('NE') #=\u003e mesma coisa de IBGE::Municipio.municipios_por_regiao(2)\nIBGE::Municipio.municipios_por_regiao(['N', 'NE']) #=\u003e mesma coisa de IBGE::Municipio.municipios_por_regiao([1, 2])\n\nIBGE::Distrito.distritos_por_uf('CE') #=\u003e mesma coisa de IBGE::Distrito.distritos_por_uf(23)\nIBGE::Distrito.distritos_por_uf(['BA', 'CE]) #=\u003e mesma coisa de IBGE::Distrito.distritos_por_uf([29, 23])\n```\n\n## Contribuindo\n\n1. Faça um fork\n2. Crie uma branch com a funcionalidade (`git checkout -b nova_funcionalidade`)\n3. Faça um commit das suas mudanças (`git commit -am \"[add] nova funcionalidade\"`)\n4. Faça um push para a branch (`git push origin nova_funcionalidade`)\n5. Crie um pull request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreaflether%2Fibge-ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreaflether%2Fibge-ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreaflether%2Fibge-ruby/lists"}