Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Wizards: From WTF to Wicked
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Richard Schneeman
April 25, 2012
Programming
250
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
430
[Kaigi] Beware the Dead End
schneems
0
260
Threads Aren't Evil
schneems
0
660
Bayes is BAE
schneems
0
4.1k
Testing the Untestable
schneems
1
970
SLOMO
schneems
2
1.3k
Saving Sprockets
schneems
8
17k
Memory Leaks, Tweaks, and Techniques
schneems
1
280
Speed Science
schneems
20
37k
Other Decks in Programming
See All in Programming
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
150
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
260
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
速習iPhone Duo対応
yuukiw00w
2
980
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
230
ChromeでローカルLLM
ryu1013
0
130
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
180
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
A designer walks into a library…
pauljervisheath
211
25k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
590
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Music & Morning Musume
bryan
48
7.4k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
700
Agile that works and the tools we love
rasmusluckow
331
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Deep Space Network (abreviated)
tonyrice
0
370
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