Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Wizards: From WTF to Wicked
Search
Richard Schneeman
April 25, 2012
Programming
3
230
Wizards: From WTF to Wicked
A lightning talk I gave at RailsConf about Wicked
http://github.com/schneems/wicked
Richard Schneeman
April 25, 2012
Tweet
Share
More Decks by Richard Schneeman
See All by Richard Schneeman
[RubyConf] Beware the Dreaded Dead End
schneems
1
340
[Kaigi] Beware the Dead End
schneems
0
150
Threads Aren't Evil
schneems
0
580
Bayes is BAE
schneems
0
3.5k
Testing the Untestable
schneems
1
770
SLOMO
schneems
2
1k
Saving Sprockets
schneems
8
17k
Memory Leaks, Tweaks, and Techniques
schneems
1
200
Speed Science
schneems
20
37k
Other Decks in Programming
See All in Programming
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
170
アセットのコンパイルについて
ojun9
0
130
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.9k
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
350
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
480
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
250
Ruby Parser progress report 2025
yui_knk
1
460
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
870
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
630
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
710
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
GitHub's CSS Performance
jonrohan
1032
460k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Speed Design
sergeychernyshev
32
1.1k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
BBQ
matthewcrist
89
9.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Transcript
Wizards: From WTF to Wicked Richard Schneeman @schneems works for
@heroku ‘ ‘
Step By Step Wizards
verywhere
Step 1
Step 2
Step 3
The WTF
class Web::Users::SignupFlowController < Web:: before_filter :ensure_authenticated ## FLOW # ############################################
# signed up with facebook => :confirm # signed up with form => :find_friends ############################################
None
W
T
F
None
What if Everything
None
You ever wanted
None
(about step-by-step w izards)
Came
In
a
RUBY GEM
Introducing
Wicked ‘ ‘
Wicked ‘ ‘ rocket edition
include Wicked::Wizard
zOMG So Cool
steps :add_zip, :add_twitter
/views /after_register /add_zip.html.erb /add_twiter.html.erb
render_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
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
It’s a state machine!!
Wicked ‘ ‘ by @schneems Use