splitting and joining tags is gone for good in 0.6

This commit is contained in:
Frederik Ramm 2009-02-03 00:57:19 +00:00
parent 71938aef1d
commit 509832c5b3

View file

@ -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