{"id":28092634,"url":"https://github.com/foveacentral/google_maps_geocoder","last_synced_at":"2025-05-13T13:24:44.842Z","repository":{"id":40364779,"uuid":"1610006","full_name":"FoveaCentral/google_maps_geocoder","owner":"FoveaCentral","description":"A simple PORO wrapper for geocoding with Google Maps","archived":false,"fork":false,"pushed_at":"2025-04-21T04:10:52.000Z","size":215,"stargazers_count":11,"open_issues_count":8,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-10T08:46:37.018Z","etag":null,"topics":["geocoder","google-maps-api","ruby"],"latest_commit_sha":null,"homepage":"https://www.rubydoc.info/gems/google_maps_geocoder","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FoveaCentral.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ivanoblomov","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"oblomov","custom":null}},"created_at":"2011-04-13T15:51:23.000Z","updated_at":"2025-01-20T09:25:18.000Z","dependencies_parsed_at":"2024-12-24T00:18:44.538Z","dependency_job_id":"5c2c2e2e-4960-4d58-8c09-fdd0580d64ba","html_url":"https://github.com/FoveaCentral/google_maps_geocoder","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FoveaCentral%2Fgoogle_maps_geocoder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FoveaCentral%2Fgoogle_maps_geocoder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FoveaCentral%2Fgoogle_maps_geocoder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FoveaCentral%2Fgoogle_maps_geocoder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FoveaCentral","download_url":"https://codeload.github.com/FoveaCentral/google_maps_geocoder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253948912,"owners_count":21989054,"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":["geocoder","google-maps-api","ruby"],"created_at":"2025-05-13T13:24:44.209Z","updated_at":"2025-05-13T13:24:44.833Z","avatar_url":"https://github.com/FoveaCentral.png","language":"Ruby","readme":"# GoogleMapsGeocoder\n\n[![Build status](https://github.com/FoveaCentral/google_maps_geocoder/workflows/test/badge.svg)](https://github.com/FoveaCentral/google_maps_geocoder/actions/workflows/test.yml)\n[![Code Climate](https://codeclimate.com/github/FoveaCentral/google_maps_geocoder.svg)](https://codeclimate.com/github/FoveaCentral/google_maps_geocoder)\n[![Coverage Status](https://coveralls.io/repos/github/FoveaCentral/google_maps_geocoder/badge.svg?branch=master)](https://coveralls.io/github/FoveaCentral/google_maps_geocoder?branch=master)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/92/badge)](https://www.bestpractices.dev/projects/92)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/FoveaCentral/google_maps_geocoder/badge)](https://scorecard.dev/viewer/?uri=github.com/FoveaCentral/google_maps_geocoder)\n[![Gem Version](https://badge.fury.io/rb/google_maps_geocoder.svg)](https://rubygems.org/gems/google_maps_geocoder)\n\nA simple Plain Old Ruby Object wrapper for geocoding with Google Maps, `GoogleMapsGeocoder` gives you all its geocoding functionality with these advantages:\n  * *easy to use* in **[only one step](#ready-to-go-in-one-step)**\n  * **[fully documented](https://www.rubydoc.info/gems/google_maps_geocoder)** with *[complete test coverage](https://coveralls.io/github/FoveaCentral/google_maps_geocoder)*\n  * *lightweight* at **[only 20.5 K](https://rubygems.org/gems/google_maps_geocoder)** as a gem (that's less than a quarter the size of [Geocoder](https://rubygems.org/gems/geocoder))\n  * only a **[single dependency](google_maps_geocoder.gemspec)**, the commonly used [Rack](https://github.com/rack/rack)\n\n\n## Installation\n\n1. Set your Google Maps API key, which Google now requires, as an environment variable:\n\n    ```bash\n    export GOOGLE_MAPS_API_KEY=[your key]\n    ```\n\n2. Add `GoogleMapsGeocoder` to your Gemfile and run `bundle`:\n\n    ```ruby\n    gem 'google_maps_geocoder'\n    ```\n\n    Or try it out in `irb` with:\n\n    ```ruby\n    require 'google_maps_geocoder'\n    ```\n\n### Security note\n\n`GoogleMapsGeocoder` is cryptographically signed. To insure the gem you install hasn’t been tampered with, add my public key as a trusted certificate and then install:\n\n```sh\ngem cert --add \u003c(curl -Ls https://raw.github.com/FoveaCentral/google_maps_geocoder/master/certs/ivanoblomov.pem)\ngem install google_maps_geocoder -P HighSecurity\n```\n\n## Ready to Go in One Step\n\n```ruby\nchez_barack = GoogleMapsGeocoder.new 'White House'\n```\n\n## Usage\n\nGet the complete, formatted address:\n\n```ruby\nchez_barack.formatted_address\n =\u003e \"1600 Pennsylvania Avenue Northwest, President's Park, Washington, DC 20500, USA\"\n```\n\n...standardized name of the city:\n\n```ruby\nchez_barack.city\n =\u003e \"Washington\"\n```\n\n...full name of the state or region:\n\n```ruby\nchez_barack.state_long_name\n =\u003e \"District of Columbia\"\n```\n\n...standard abbreviation for the state/region:\n\n```ruby\nchez_barack.state_short_name\n =\u003e \"DC\"\n```\n\n## API\n\nThe complete, hopefully self-explanatory, API is:\n\n* `GoogleMapsGeocoder#city`\n* `GoogleMapsGeocoder#country_long_name`\n* `GoogleMapsGeocoder#country_short_name`\n* `GoogleMapsGeocoder#county`\n* `GoogleMapsGeocoder#exact_match?`\n* `GoogleMapsGeocoder#formatted_address`\n* `GoogleMapsGeocoder#formatted_street_address`\n* `GoogleMapsGeocoder#lat`\n* `GoogleMapsGeocoder#lng`\n* `GoogleMapsGeocoder#partial_match?`\n* `GoogleMapsGeocoder#postal_code`\n* `GoogleMapsGeocoder#state_long_name`\n* `GoogleMapsGeocoder#state_short_name`\n\nFor compatibility with [Geocoder](https://github.com/alexreisner/geocoder), the following aliases are also available:\n\n* `GoogleMapsGeocoder#address`\n* `GoogleMapsGeocoder#coordinates`\n* `GoogleMapsGeocoder#country`\n* `GoogleMapsGeocoder#country_code`\n* `GoogleMapsGeocoder#latitude`\n* `GoogleMapsGeocoder#longitude`\n* `GoogleMapsGeocoder#state`\n* `GoogleMapsGeocoder#state_code`\n\n## Documentation\n\nComplete RDoc documentation is available at [RubyDoc.info](https://www.rubydoc.info/gems/google_maps_geocoder).\n\n## [Contributing to GoogleMapsGeocoder](.github/CONTRIBUTING.md)\n\n## Copyright\n\nCopyright © 2011-2024 Roderick Monje. See [LICENSE.txt](LICENSE.txt) for further details.\n","funding_links":["https://github.com/sponsors/ivanoblomov","https://buymeacoffee.com/oblomov"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoveacentral%2Fgoogle_maps_geocoder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoveacentral%2Fgoogle_maps_geocoder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoveacentral%2Fgoogle_maps_geocoder/lists"}