module Wicked::Wizard

Public Instance Methods

index() click to toggle source

forward to first step with whatever params are provided

# File lib/wicked/wizard.rb, line 33
def index
  query_string = "?#{request.query_parameters.to_query}" if request.query_parameters.any?
  redirect_to "#{ wizard_path(steps.first) }#{ query_string || '' }"
end
wizard_value(step_name) click to toggle source

returns the canonical value for a step name, needed for translation support

# File lib/wicked/wizard.rb, line 39
def wizard_value(step_name)
  step_name
end

Private Instance Methods

check_redirect_to_first_last!(step) click to toggle source
# File lib/wicked/wizard.rb, line 45
def check_redirect_to_first_last!(step)
  redirect_to wizard_path(steps.first) if step.to_s == Wicked::FIRST_STEP
  redirect_to wizard_path(steps.last)  if step.to_s == Wicked::LAST_STEP
end
check_steps!() click to toggle source
# File lib/wicked/wizard.rb, line 63
def check_steps!
  raise UndefinedStepsError if steps.nil?
end
set_previous_next(step) click to toggle source
# File lib/wicked/wizard.rb, line 67
def set_previous_next(step)
  @previous_step = previous_step(step)
  @next_step     = next_step(step)
end
setup_step_from(the_step) click to toggle source
# File lib/wicked/wizard.rb, line 50
def setup_step_from(the_step)
  return if steps.nil?

  the_step ||= steps.first
  check_redirect_to_first_last!(the_step)

  valid_steps = steps + self.class::PROTECTED_STEPS
  the_step = valid_steps.detect { |stp| stp.to_s == the_step }

  raise InvalidStepError if the_step.nil?
  the_step
end
setup_wizard() click to toggle source
# File lib/wicked/wizard.rb, line 72
def setup_wizard
  check_steps!
  return if params[:id].nil?

  @step = setup_step_from(params[:id])
  set_previous_next(@step)
end