Look, you're going to go write a bunch of weird, crazy, and quite possibly criminally insane code in Ruby at some point or another in your career. Maybe you already have. I can't stop you, and I'd be disappointed if you didn't at least try, so in this talk I'll show you how to do it without poking your own eye out with the pointy end of a sharpened stick.
15. Who this talk is for
0-6 months 6-12 months 12-36 months 36+ months
16. Who this talk is for
0-6 months 6-12 months 12-36 months 36+ months
total
noob sauce
17. Who this talk is for
0-6 months 6-12 months 12-36 months 36+ months
total hardened
noob sauce ruby veteran
18. Who this talk is for
0-6 months 6-12 months 12-36 months 36+ months
total a danger to yourself hardened
noob sauce and others ruby veteran
19. Who this talk is for
0-6 months 6-12 months 12-36 months 36+ months
total a danger to yourself hardened
noob sauce and others ruby veteran
You know who you are.
20. Who this talk is for
0-6 months 6-12 months 12-36 months 36+ months
total thick controllers
total lack of curiousity
noob sauce (total noob sauce)
tragically, a repeat offender as a framework writer
I’m that guy; I just go write frameworks
Look, you're going to go write a bunch of weird, crazy, and quite possibly criminally insane code in Ruby at some point or another in your career. Maybe you already have. I can't stop you, and I'd be disappointed if you didn't at least try, so in this talk I'll show you how to do it without poking your own eye out with the pointy end of a sharpened stick.
Explaining why you’d want to do these things
Discouraging you from trying
Look, you're going to go write a bunch of weird, crazy, and quite possibly criminally insane code in Ruby at some point or another in your career. Maybe you already have. I can't stop you, and I'd be disappointed if you didn't at least try, so in this talk I'll show you how to do it without poking your own eye out with the pointy end of a sharpened stick.
introduction; this is our goal; goals are important with DSLs
simple lambda, no use of options
slow, have to implement respond_to, have to call super, fairly complicated
a little bit faster, still not exactly clear what’s going on
faster yet, no memory leaks, a little bit clearer what’s going on--not EXACTLY rails convention
a bad use of open classes, but even if good, there’s a problem
Ruby is the name of the crocodile.
Smart devs - obligation to team to condense & beautify & DRY out most commonly-used idioms
Refactor and metaprogram more to domain, less to infrastructure