module ResqueSafe::ConvertToHash
Public Instance Methods
translate_to_hash(*args)
click to toggle source
# File lib/resque_safe/convert_to_hash.rb, line 3 def translate_to_hash(*args) th = {} args = args.flatten if args.respond_to?(:flatten) args.each do |arg, index| next if arg.blank? arg_class = arg.class.name if arg.is_a?(Hash) arg.each do|k,v| if v.respond_to?(:gsub) th[k.to_sym] = CGI.escapeHTML(v) else th[k.to_sym] = v end end elsif known_models.include?(arg_class) || arg.class.respond_to?(:column_names) th[arg_class.underscore.to_sym] = arg.id elsif arg.is_a?(String) th[index] = v else raise ArgumentError.new("Unknown #{arg_class} passed to resque safe. \n Object #{arg.inspect} \n\n Args #{args} \n\n Known Models #{known_models}") end end th end