Sha256: ea77a44b0c81c17aa5db6e44f58f5f4abd6c2cd12f4e1a569ce69149a6bfdd69
Contents?: true
Size: 1.4 KB
Versions: 7
Compression:
Stored size: 1.4 KB
Contents
require 'orange-core/middleware/base' module Orange::Middleware class DumbQuotes < Base # Passes packet then parses the return def packet_call(packet) no_smart_quotes! packet pass packet end def no_smart_quotes!(packet) deep_clean(packet.request.params) { |s| clean!(s) } end def deep_clean(hash, &block) if hash.instance_of? String yield(hash) elsif hash.kind_of? Hash hash.each_key { |h| deep_clean(hash[h]) { |s| block.call(s) } } else nil end end def clean!(string) string.gsub! "\342\200\230", "'" string.gsub! "\342\200\231", "'" string.gsub! "\342\200\234", '"' string.gsub! "\342\200\235", '"' string.gsub! "\342\200\230", "'" string.gsub! "\342\200\231", "'" string.gsub! "\xE2\x80\x93", '-' string.gsub! "\xE2\x80\x94", '--' string.gsub!(/\x82/,',') string.gsub!(/\x84/,',,') string.gsub!(/\x85/,'...') string.gsub!(/\x88/,'^') string.gsub!(/\x89/,'o/oo') string.gsub!(/\x8b/,'<') string.gsub!(/\x8c/,'OE') string.gsub!(/\x91|\x92/,"'") string.gsub!(/\x93|\x94/,'"') string.gsub!(/\x95/,'*') string.gsub!(/\x96/,'-') string.gsub!(/\x97/,'--') string.gsub!(/\x98/,'~') string.gsub!(/\x99/,'TM') string.gsub!(/\x9b/,'>') string.gsub!(/\x9c/,'oe') end end end
Version data entries
7 entries across 7 versions & 1 rubygems