module StringTools::ActionControllerExtension
Public Instance Methods
accepts_non_utf8_params(*args)
click to toggle source
# File lib/string_tools.rb, line 56 def accepts_non_utf8_params(*args) args.each do |arg| next unless arg.is_a?(Symbol) || arg.is_a?(::String) arg = arg.to_sym class_eval do before_filter { |controller| decode = lambda { |s| if s.is_a?(Hash) s.to_a.map { |k, v| [k, StringTools.to_utf8(v)]}.to_hash elsif s.is_a?(Array) s.map { |v| StringTools.to_utf8(v) } else StringTools.to_utf8(s) end } controller.params[arg] = decode.call(controller.params[arg]) unless controller.params[arg].nil? } end end end
Also aliased as: accepts_non_utf8_param