module FakeRedis::GeoCommands
def geodist(key, member1, member2, unit = "m")
def geodist(key, member1, member2, unit = "m") unit = unit.to_s raise_command_error("ERR unsupported unit provided. please use #{DISTANCE_UNITS.keys.join(', ')}") unless DISTANCE_UNITS.include?(unit) set = (data[key] || GeoSet.new) point1 = set.get(member1) point2 = set.get(member2) if point1 && point2 distance = point1.distance_to(point2) distance_in_units = distance / DISTANCE_UNITS[unit] distance_in_units.round(REDIS_DOUBLE_PRECISION).to_s end end