Sha256: 8e96cc046f402be2876a20797058fa541a54fc2939a000e00f4823aa2499a819
Contents?: true
Size: 1.34 KB
Versions: 7
Compression:
Stored size: 1.34 KB
Contents
module Paloma # TODO explain! module ::ActionController::Redirecting alias_method :original_redirect_to, :redirect_to end module ActionControllerExtension def redirect_js_hook options = {}, response_status = {} add_to_callbacks @__callback__, @__js_params__ original_redirect_to options, response_status end alias_method :redirect_to, :redirect_js_hook # # js_callback false # js_callback :new, :params => {} # js_callback :controller => '', :action => '', :params => {} # js_callback :params => {} # def js_callback options = {}, extras = {} default_callback = "#{controller_path}/#{action_name}" params = {} if options.is_a? Hash params = options[:params] callback = options[:controller].present? && options[:action].present? ? "#{options[:controller]}/#{options[:action]}" : default_callback elsif options.is_a? Symbol params = extras[:params] callback = "#{controller_path}/#{options}" elsif options.nil? || options.is_a?(TrueClass) callback = default_callback else # false callback = nil end @__callback__ = callback @__js_params__ = params end end ::ActionController::Base.send :include, ActionControllerExtension end
Version data entries
7 entries across 7 versions & 1 rubygems