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
America's Next Top Engineer
Search
Aaron Patterson
June 07, 2013
2.3k
16
Share
America's Next Top Engineer
Presentation popularity at RedDot RubyConf
Aaron Patterson
June 07, 2013
More Decks by Aaron Patterson
See All by Aaron Patterson
Faster FFI for Ruby
tenderlove
0
30
RubyKaigi 2025: Class New, A New Approach
tenderlove
0
250
RubyKaigi Dev Meeting 2025
tenderlove
1
5.2k
Speeding up Instance Variables in Ruby 3.3
tenderlove
2
550
[Feature #20425] Speeding up delegate methods
tenderlove
3
350
RailsConf 2023
tenderlove
30
1.4k
Don't @ Me! Faster Instance Variables with Object Shapes
tenderlove
1
540
RailsConf 2022 Keynote
tenderlove
2
670
Some Assembly Required
tenderlove
1
630
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.5k
Being A Developer After 40
akosma
91
590k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
310
Practical Orchestrator
shlominoach
191
11k
The Cult of Friendly URLs
andyhume
79
6.9k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
410
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
510
From π to Pie charts
rasagy
0
190
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
350
Git: the NoSQL Database
bkeepers
PRO
432
67k
Building Applications with DynamoDB
mza
96
7k
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