X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/ef7f3d800cbdd49b692df10d312e5fd880e2e938..66efc5f1ecef2cde97cdfdab6422183b981bd624:/lib/short_link.rb diff --git a/lib/short_link.rb b/lib/short_link.rb index 0d8f21cad..69634cea5 100644 --- a/lib/short_link.rb +++ b/lib/short_link.rb @@ -8,7 +8,7 @@ module ShortLink # array of 64 chars to encode 6 bits. this is almost like base64 encoding, but # the symbolic chars are different, as base64's + and / aren't very # URL-friendly. - ARRAY = ('A'..'Z').to_a + ('a'..'z').to_a + ('0'..'9').to_a + ['_', '~'] + ARRAY = ("A".."Z").to_a + ("a".."z").to_a + ("0".."9").to_a + ["_", "~"] ## # Given a string encoding a location, returns the [lon, lat, z] tuple of that @@ -30,8 +30,13 @@ module ShortLink z_offset -= 1 else 3.times do - x <<= 1; x |= 1 unless (t & 32).zero?; t <<= 1 - y <<= 1; y |= 1 unless (t & 32).zero?; t <<= 1 + x <<= 1 + x |= 1 unless (t & 32).zero? + t <<= 1 + + y <<= 1 + y |= 1 unless (t & 32).zero? + t <<= 1 end z += 3 end