I've recently used activerecord-postgres-earthdistance because it uses earth_distance functions from postgres, that performs faster when querying lots of records by distance, but it doesn't have the geocoding feature (convert an address from string to lat/lon).
Geokit and GeoCoder seems to be good solutions. easy to use and complete (both can geocode data, calculate distance between points, and query the database). Geokit seems to be lightweight.
RGeo is too complex, it is recommended for gis apps, where you need to map various shapes of geographical data, like lines/areas/neighborhoods.