class FakeRedis::GeoSet::Point
def geohash(precision = 10)
def geohash(precision = 10) latlon = [@lat, @lon] ranges = [[-90.0, 90.0], [-180.0, 180.0]] coordinate = 1 (0...precision).map do index = 0 # index into base32 map 5.times do |bit| mid = (ranges[coordinate][0] + ranges[coordinate][1]) / 2 if latlon[coordinate] >= mid index = index * 2 + 1 ranges[coordinate][0] = mid else index *= 2 ranges[coordinate][1] = mid end coordinate ^= 1 end BASE32[index] end.join end