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
240
3
Share
Wizards: From WTF to Wicked
A lightning talk I gave at RailsConf about Wicked
http://github.com/schneems/wicked
Richard Schneeman
April 25, 2012
More Decks by Richard Schneeman
See All by Richard Schneeman
[RubyConf] Beware the Dreaded Dead End
schneems
1
390
[Kaigi] Beware the Dead End
schneems
0
200
Threads Aren't Evil
schneems
0
630
Bayes is BAE
schneems
0
4k
Testing the Untestable
schneems
1
940
SLOMO
schneems
2
1.3k
Saving Sprockets
schneems
8
17k
Memory Leaks, Tweaks, and Techniques
schneems
1
240
Speed Science
schneems
20
37k
Other Decks in Programming
See All in Programming
My daily life on Ruby
a_matsuda
3
390
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
450
Firefoxにコントリビューションして得られた学び
ken7253
2
160
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.8k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
670
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
350
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
1.9k
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
390
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.1k
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
510
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.6k
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1.1k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
200
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
What's in a price? How to price your products and services
michaelherold
247
13k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
530
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
290
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
530
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
180
Ethics towards AI in product and experience design
skipperchong
2
270
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
210
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
Navigating Team Friction
lara
192
16k
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