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
[Feature #20425] Speeding up delegate methods
tenderlove
1
36
RailsConf 2023
tenderlove
9
590
Don't @ Me! Faster Instance Variables with Object Shapes
tenderlove
0
200
RailsConf 2022 Keynote
tenderlove
1
350
Some Assembly Required
tenderlove
0
400
HexDevs 2021
tenderlove
0
300
Compacting GC for MRI
tenderlove
59
4.3k
But At What Cost?
tenderlove
8
14k
Compacting GC in MRI v2
tenderlove
1
610
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
Why Our Code Smells
bkeepers
PRO
331
56k
Making Projects Easy
brettharned
109
5.5k
Unsuck your backbone
ammeep
664
57k
Documentation Writing (for coders)
carmenintech
60
4k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
Being A Developer After 40
akosma
67
580k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Embracing the Ebb and Flow
colly
80
4.2k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Navigating Team Friction
lara
179
13k
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