Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
America's Next Top Engineer
Search
Aaron Patterson
June 07, 2013
16
2.2k
America's Next Top Engineer
Presentation popularity at RedDot RubyConf
Aaron Patterson
June 07, 2013
Tweet
Share
More Decks by Aaron Patterson
See All by Aaron Patterson
RubyKaigi 2025: Class New, A New Approach
tenderlove
0
100
RubyKaigi Dev Meeting 2025
tenderlove
1
3.9k
Speeding up Instance Variables in Ruby 3.3
tenderlove
2
480
[Feature #20425] Speeding up delegate methods
tenderlove
3
300
RailsConf 2023
tenderlove
30
1.3k
Don't @ Me! Faster Instance Variables with Object Shapes
tenderlove
1
490
RailsConf 2022 Keynote
tenderlove
2
600
Some Assembly Required
tenderlove
1
590
HexDevs 2021
tenderlove
1
500
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Thoughts on Productivity
jonyablonski
73
5k
Practical Orchestrator
shlominoach
190
11k
YesSQL, Process and Tooling at Scale
rocio
174
15k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
380
Docker and Python
trallard
46
3.7k
Site-Speed That Sticks
csswizardry
13
990
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Transcript
Your Guide to Presentation Popularity!
Your Guide to Presentation Notoriety!
None
•Provocative Title •Risqué Photos •Ruby Code?
Provocative Title:
Use Ruby 1.9 like an Engineer
Use Ruby 1.9 like a SEXY Engineer
Risqué Photos
America's Next Top Model
America's Next Top Engineer
Confident
Elegant
Sultry
Sexy
Thoughtful
Fierce
Playful
Powerful
Provocative
Ruby Code?
protected def method_missing(method, *args, &block) if Array.method_defined?(method) to_a.send(method, *args, &block)
elsif @klass.scopes[method] merge(@klass.send(method, *args, &block)) elsif @klass.respond_to?(method) scoping { @klass.send(method, *args, &block) } elsif arel.respond_to?(method) arel.send(method, *args, &block) elsif match = DynamicFinderMatch.match(method) attributes = match.attribute_names super unless @klass.send(:all_attributes_exists?, attributes) if match.finder? find_by_attributes(match, attributes, *args) elsif match.instantiator? find_or_instantiator_by_attributes(match, attributes, *args, &block) end else super end end private def references_eager_loaded_tables? # always convert table names to downcase as in Oracle quoted table names are in uppercase joined_tables = (tables_in_string(arel.joins(arel)) + [table.name, table.table_alias]).compact.map{ |t| t.downcase }.uniq (tables_in_string(to_sql) - joined_tables).any? end
TL;DR