module Wicked::Controller::Concerns::RenderRedirect
Public Instance Methods
finish_wizard_path(params = {})
click to toggle source
TODO redirect to resource if one is passed to #render_wizard
# File lib/wicked/controller/concerns/render_redirect.rb, line 43 def finish_wizard_path(params = {}) url = '/' url = "#{url}?#{params.to_query}" unless params.blank? url end
process_resource!(resource)
click to toggle source
# File lib/wicked/controller/concerns/render_redirect.rb, line 16 def process_resource!(resource) if resource if resource.save @skip_to ||= @next_step else @skip_to = nil end end end
redirect_to_finish_wizard(options = {}, params = {})
click to toggle source
# File lib/wicked/controller/concerns/render_redirect.rb, line 49 def redirect_to_finish_wizard(options = {}, params = {}) wicked_final_redirect_path = method(:finish_wizard_path).arity == 1 ? finish_wizard_path(params) : finish_wizard_path Rails.logger.debug("Wizard has finished, redirecting to finish_wizard_path: #{wicked_final_redirect_path.inspect}") # flash.keep is required for Rails 3 where a flash message is lost on a second redirect. flash.keep redirect_to wicked_final_redirect_path, options end
redirect_to_next(next_step, options = {}, params = {})
click to toggle source
# File lib/wicked/controller/concerns/render_redirect.rb, line 34 def redirect_to_next(next_step, options = {}, params = {}) if next_step.nil? redirect_to_finish_wizard(options, params) else redirect_to wizard_path(next_step, params), options end end
render_step(the_step, options = {}, params = {})
click to toggle source
# File lib/wicked/controller/concerns/render_redirect.rb, line 26 def render_step(the_step, options = {}, params = {}) if the_step.nil? || the_step.to_s == Wicked::FINISH_STEP redirect_to_finish_wizard options, params else render the_step, options end end
render_wizard(resource = nil, options = {}, params = {})
click to toggle source
# File lib/wicked/controller/concerns/render_redirect.rb, line 5 def render_wizard(resource = nil, options = {}, params = {}) process_resource!(resource) if @skip_to url_params = (@wicked_redirect_params || {}).merge(params) redirect_to wizard_path(@skip_to, url_params), options else render_step(wizard_value(step), options, params) end end