module Stepper::ControllerAdditions::InstanceMethods
Public Instance Methods
create()
click to toggle source
controller create
action it supports only html responce format for now
# File lib/stepper/controllers/controller_additions.rb, line 53 def create respond_to do |format| if @_stepper_resource_instance.save format.html { redirect_steps } else @_stepper_resource_instance.previous_step! format.html { render :action => "new" } end end end
new()
click to toggle source
controller new
action it supports only html responce format for now
# File lib/stepper/controllers/controller_additions.rb, line 83 def new end
next_step()
click to toggle source
controller new
action it supports only html responce format for now
# File lib/stepper/controllers/controller_additions.rb, line 89 def next_step if @_stepper_resource_instance.last_step? redirect_to :action => :show, :id => @_stepper_resource_instance.id else render :action => :new end end
update()
click to toggle source
controller update
action it supports only html responce format for now
# File lib/stepper/controllers/controller_additions.rb, line 66 def update @_stepper_resource_instance.previous_step!.previous_step! if params[:commit] == t('stepper.previous_step').html_safe @_stepper_resource_instance.previous_step! if params[:commit] == t('stepper.save').html_safe respond_to do |format| if @_stepper_resource_instance.save format.html { redirect_steps } else @_stepper_resource_instance.previous_step! format.html { render :action => "new" } end end end
Protected Instance Methods
default_redirection()
click to toggle source
default redirection actions
# File lib/stepper/controllers/controller_additions.rb, line 100 def default_redirection { :next_step => {:action => "next_step", :id => @_stepper_resource_instance.id}, :previous_step => {:action => "next_step"}, :save => {:action => "index"}, :finish => {:action => "show", :id => @_stepper_resource_instance.id} } end
extract_redirect_params(option)
click to toggle source
# File lib/stepper/controllers/controller_additions.rb, line 135 def extract_redirect_params(option) redirection = @_stepper_redirect_to["after_#{option.to_s}".to_sym] if redirection.is_a?(Proc) redirection.call(self, @_stepper_resource_instance) else redirection end || default_redirection[option] end
redirect_steps()
click to toggle source
redirects to controller actions depends of commit value
save -> index previous_step -> new next_step -> new finish -> show
# File lib/stepper/controllers/controller_additions.rb, line 115 def redirect_steps options, response_status = redirect_steps_options redirect_to options, response_status end
redirect_steps_options()
click to toggle source
# File lib/stepper/controllers/controller_additions.rb, line 120 def redirect_steps_options case params[:commit] when t('stepper.save') [ extract_redirect_params(:save), {}] when t('stepper.previous_step') [ extract_redirect_params(:previous_step), {}] when t('stepper.next_step') [ extract_redirect_params(:next_step), {}] when t('stepper.finish') [ extract_redirect_params(:finish), {}] else raise Stepper::StepperException.new("Unknown commit: #{params[:commit]}") end end
sanitized_params()
click to toggle source
removes from params resource name, commit and id
# File lib/stepper/controllers/controller_additions.rb, line 145 def sanitized_params params.except(@_stepper_name, :commit, :id) end