Method: SteamCodec::KeyValues::Parser.proccess
- Defined in:
- lib/steam_codec/key_values.rb
.proccess(data, last = true) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/steam_codec/key_values.rb', line 11 def self.proccess(data, last = true) token = /"[^"]*"/ data = data.gsub(/(?<=^|[\s{}])(\s*)([^"{}\s\n\r]+)(\s*)(?=[\s{}]|\z)/, '\1"\2"\3') if last data.gsub!(/(#{token}:\s*#{token}|})(?=\s*")/, '\1,') data.gsub!(/(#{token})(?=\s*{|[ \t\f]+")/, '\1:') else data.gsub!(/(#{token}:\s*#{token}|})(?=\s*"|\s*\z)/, '\1,') data.gsub!(/(#{token})(?=\s*{|[ \t\f]+"|\s*\z)/, '\1:') end data end |