module Sqreen::Kit::StringSanitizer
Public Class Methods
sanitize(obj)
click to toggle source
# File lib/sqreen/kit/string_sanitizer.rb, line 10 def sanitize(obj) case obj when String sanitize_string(obj) when Array obj.map { |e| sanitize(e) } when Hash obj.each_with_object({}) { |(k, v), h| h[sanitize(k)] = sanitize(v) } else obj end end
Private Class Methods
sanitize_string_new(s)
click to toggle source
# File lib/sqreen/kit/string_sanitizer.rb, line 25 def sanitize_string_new(s) return s if s.encoding == Encoding::UTF_8 && s.valid_encoding? s.encode(Encoding::UTF_8, invalid: :replace, undef: :replace) end
sanitize_string_old(s)
click to toggle source
# File lib/sqreen/kit/string_sanitizer.rb, line 31 def sanitize_string_old(s) return s if s.encoding == Encoding::UTF_8 && s.valid_encoding? s.encode('utf-16be', invalid: :replace, undef: :replace) .encode(Encoding::UTF_8, invalid: :replace, undef: :replace) end