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
16
2.1k
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
RailsConf 2023
tenderlove
7
550
Don't @ Me! Faster Instance Variables with Object Shapes
tenderlove
0
190
RailsConf 2022 Keynote
tenderlove
1
340
Some Assembly Required
tenderlove
0
390
HexDevs 2021
tenderlove
0
290
Compacting GC for MRI
tenderlove
59
4.3k
But At What Cost?
tenderlove
8
14k
Compacting GC in MRI v2
tenderlove
1
600
The View is Clear From Here
tenderlove
2
550
Featured
See All Featured
Atom: Resistance is Futile
akmur
260
25k
How to name files
jennybc
65
93k
Designing with Data
zakiwarfel
96
4.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
10
1.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
KATA
mclloyd
16
12k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.7k
Bash Introduction
62gerente
605
210k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Writing Fast Ruby
sferik
622
60k
Building Effective Engineering Teams - LeadDev
addyosmani
30
1.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
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