Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Don't Get Clever
Search
avdi
July 20, 2013
1
420
Don't Get Clever
Part of the Ruby Rogues live panel episode at Lone Star Ruby Conference 2013.
avdi
July 20, 2013
Tweet
Share
More Decks by avdi
See All by avdi
Pairing is Caring
avdi
2
520
Code to Joy
avdi
10
1.7k
Building Gems that Don't Suck
avdi
4
580
Making Little Classes out of Big Ones
avdi
29
3.3k
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.1k
A brief & incomplete history of 
UX Design for the World Wide Web: 1989–2019
jct
1
260
30 Presentation Tips
portentint
PRO
1
170
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
34
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
66
BBQ
matthewcrist
89
9.9k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
110
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
120
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
64
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Transcript
Don't Get Clever Avdi Grimm
Pop quiz r e q u i r e '
p s t o r e ' s t o r e = P S t o r e . n e w ( ' d a t a . p s t o r e ' ) s t o r e . t r a n s a c t i o n ( t r u e ) d o # . . . e n d
Pop quiz 2 A r r a y . i
n s t a n c e _ m e t h o d s ( f a l s e )
Symbols are truthy r e q u i r e
' p s t o r e ' s t o r e = P S t o r e . n e w ( ' d a t a . p s t o r e ' ) s t o r e . t r a n s a c t i o n ( : r e a d _ o n l y ) d o # . . . e n d
Clever!
What's : r e a d _ o n l
y ?? s t o r e . t r a n s a c t i o n ( : r e a d _ o n l y ) d o # . . . e n d
Dead end s t o r e . t r
a n s a c t i o n ( : c h u n k y _ b a c o n ) d o # . . . e n d
Negation A r r a y . i n s
t a n c e _ m e t h o d s ( ! : i n c l u d e _ s u p e r )
Don't get clever
Intention-revealing argument r e a d _ o n l
y = t r u e s t o r e . t r a n s a c t i o n ( r e a d _ o n l y ) d o # . . . e n d
Intention-revealing argument i n c l u d e _
s u p e r = f a l s e A r r a y . i n s t a n c e _ m e t h o d s ( i n c l u d e _ s u p e r )
Inline version A r r a y . i n
s t a n c e _ m e t h o d s ( i n c l u d e _ s u p e r = f a l s e )
Don't get clever