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
240
Threads Aren't Evil
schneems
0
650
Bayes is BAE
schneems
0
4.1k
Testing the Untestable
schneems
1
960
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
Go のフラットな パッケージに 「ファイル単位の private」を 〜Linter “declscope” を作った話〜
mpyw
0
320
新卒PdEのリアル
ryu1013
1
500
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
470
Heart of Swift Concurrency
koher
0
760
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
210
What We Talk About When We Talk About XP
m_seki
2
630
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.7k
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
240
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
260
iOSDC2026登壇資料.pdf
riofujimon
0
160
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
1.9k
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
110
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
520
Documentation Writing (for coders)
carmenintech
77
5.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Skip the Path - Find Your Career Trail
mkilby
1
230
Speed Design
sergeychernyshev
33
2.1k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
Paper Plane
katiecoart
PRO
4
53k
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