Slide 1

Slide 1 text

Wizards: From WTF to Wicked Richard Schneeman @schneems works for @heroku ‘ ‘

Slide 2

Slide 2 text

Step By Step Wizards

Slide 3

Slide 3 text

verywhere

Slide 4

Slide 4 text

Step 1

Slide 5

Slide 5 text

Step 2

Slide 6

Slide 6 text

Step 3

Slide 7

Slide 7 text

The WTF

Slide 8

Slide 8 text

class Web::Users::SignupFlowController < Web:: before_filter :ensure_authenticated ## FLOW # ############################################ # signed up with facebook => :confirm # signed up with form => :find_friends ############################################

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

W

Slide 11

Slide 11 text

T

Slide 12

Slide 12 text

F

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

What if Everything

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

You ever wanted

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

(about step-by-step w izards)

Slide 19

Slide 19 text

Came

Slide 20

Slide 20 text

In

Slide 21

Slide 21 text

a

Slide 22

Slide 22 text

RUBY GEM

Slide 23

Slide 23 text

Introducing

Slide 24

Slide 24 text

Wicked ‘ ‘

Slide 25

Slide 25 text

Wicked ‘ ‘ rocket edition

Slide 26

Slide 26 text

include Wicked::Wizard

Slide 27

Slide 27 text

zOMG So Cool

Slide 28

Slide 28 text

steps :add_zip, :add_twitter

Slide 29

Slide 29 text

/views /after_register /add_zip.html.erb /add_twiter.html.erb

Slide 30

Slide 30 text

render_wizard

Slide 31

Slide 31 text

steps :add_zip, :add_twitter def show @user = current_user render_wizard end

Slide 32

Slide 32 text

def update @user = current_user @user.update_attributes(params[:user]) render_wizard @user end

Slide 33

Slide 33 text

class AfterRegisterController < ApplicationCon include Wicked::Wizard steps :add_zip, :add_twitter def show @user = current_user render_wizard end def update @user = current_user @user.update_attributes(params[:user]) render_wizard @user end end

Slide 34

Slide 34 text

It’s a state machine!!

Slide 35

Slide 35 text

Wicked ‘ ‘ by @schneems Use