X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/71938aef1db11e3c7aaac0123c08f5d40c788190..509832c5b36384ebac5ef89f99472f569f78dd34:/lib/tags.rb diff --git a/lib/tags.rb b/lib/tags.rb deleted file mode 100644 index 2095b09af..000000000 --- a/lib/tags.rb +++ /dev/null @@ -1,42 +0,0 @@ -module Tags - def self.join(tags) - joined = tags.collect { |k,v| "#{escape_string(k)}=#{escape_string(v)}" }.join(';') - joined = '' if joined.nil? - return joined - end - - def self.escape_string(tag) - return tag.gsub(/[;=\\]/) { |v| escape_char(v) } - end - - def self.escape_char(v) - case v - when ';' then return '\\s' - when '=' then return '\\e' - end - return '\\\\' - end - - def self.split(tags) - tags.split(';').each do |tag| - key,val = tag.split('=').collect { |s| s.strip } - key = '' if key.nil? - val = '' if val.nil? - if key != '' && val != '' - yield unescape_string(key),unescape_string(val) - end - end - end - - def self.unescape_string(tag) - return tag.gsub(/\\[se\\]/) { |v| unescape_char(v) } - end - - def self.unescape_char(v) - case v - when '\\s' then return ';' - when '\\e' then return '=' - end - return '\\' - end -end