MonoForge

seancribbs / restful_workflow

restful_workflow

Public

A Rails plugin to implement interview-style workflows in a controller.

18 filesupdated Jun 18, 2026

README

RestfulWorkflow

This plugin provides interview-style workflow in a controller, similar to TurboTax, but without the need to save models to the database immediately. All data is stored in the session unless overridden.

Using this DSL implements the 'show' and 'update' actions in your controller, so please do not override those unless you wish to break the workflow. When rendering, each step will look for a template of the same name.

Example

class InterviewController < ApplicationController

stage do |steps| steps.start do data do column :first_name, :type => :string validates_presence_of :first_name end end

steps.contact_info do
  before { @name = self.class.find_step('start').load_data(self).first_name }
  data do
    column :email, :type => :string
    column :accept, :type => :boolean
    validates_acceptance_of :accept
  end
  forward "/profile"
end

end

end

Copyright (c) 2008 Sean Cribbs and Loren Johnson, released under the MIT license