X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/dc2a2c8ebd1a11e4a64555fda22c6859a51defff..c7061991e74a20cc0576a3afa269821a87178f77:/lib/potlatch.rb diff --git a/lib/potlatch.rb b/lib/potlatch.rb index 2030f55c3..6e8c88bb8 100644 --- a/lib/potlatch.rb +++ b/lib/potlatch.rb @@ -24,15 +24,13 @@ module Potlatch # Return eight-byte double-precision float def self.getdouble(s) - a = s.read(8).unpack("G") # G big-endian, E little-endian + a = s.read(8).unpack("G") # G big-endian, E little-endian a[0] end # Return numeric array def self.getarray(s) - getlong(s).times.collect do - getvalue(s) - end + Array.new(getlong(s)) { getvalue(s) } end # Return object/hash @@ -42,23 +40,23 @@ module Potlatch break if key == "" arr[key] = getvalue(s) end - s.getbyte # skip the 9 'end of object' value + s.getbyte # skip the 9 'end of object' value arr end # Parse and get value def self.getvalue(s) case s.getbyte - when 0 then return getdouble(s) # number - when 1 then return s.getbyte # boolean - when 2 then return getstring(s) # string - when 3 then return getobject(s) # object/hash - when 5 then return nil # null - when 6 then return nil # undefined - when 8 then s.read(4) # mixedArray - return getobject(s) # | - when 10 then return getarray(s) # array - else return nil # error + when 0 then return getdouble(s) # number + when 1 then return s.getbyte # boolean + when 2 then return getstring(s) # string + when 3 then return getobject(s) # object/hash + when 5 then return nil # null + when 6 then return nil # undefined + when 8 then s.read(4) # mixedArray + return getobject(s) # | + when 10 then return getarray(s) # array + else return nil # error end end @@ -183,7 +181,7 @@ module Potlatch File.open("#{Rails.root}/config/potlatch/presets.txt") do |file| file.each_line do|line| t = line.chomp - if t =~ /(\w+)\/(\w+)/ + if t =~ %r{(\w+)/(\w+)} presettype = $1 presetcategory = $2 presetmenus[presettype].push(presetcategory) @@ -246,16 +244,16 @@ module Potlatch autotags = { "point" => {}, "way" => {}, "POI" => {} } File.open("#{Rails.root}/config/potlatch/autocomplete.txt") do |file| file.each_line do|line| - next unless line.chomp =~ /^([\w:]+)\/(\w+)\s+(.+)$/ + next unless line.chomp =~ %r{^([\w:]+)/(\w+)\s+(.+)$} tag = $1 type = $2 values = $3 - if values == "-" - autotags[type][tag] = [] - else - autotags[type][tag] = values.split(",").sort.reverse - end + autotags[type][tag] = if values == "-" + [] + else + values.split(",").sort.reverse + end end end