Date post: | 12-May-2015 |
Category: |
Technology |
Upload: | rick-martinez |
View: | 2,656 times |
Download: | 3 times |
Hardcore!Extending Rails 3
Rick Martinez
Tuesday, June 15, 2010
- Dave Thomas
Tuesday, June 15, 2010
core
Tuesday, June 15, 2010
"when I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck."
Duck Typing
Tuesday, June 15, 2010
Rails 2
Tuesday, June 15, 2010
I started exploringalternatives to Rails
Tuesday, June 15, 2010
!
Tuesday, June 15, 2010
HISS!!!jason seifer
YouTube search: rails vs. django
Tuesday, June 15, 2010
December 23rd, 2008
Tuesday, June 15, 2010
Tuesday, June 15, 2010
+ =
RAILS 3
Tuesday, June 15, 2010
What makes Rails 3 amazing?
(and why did it take so long?)
Tuesday, June 15, 2010
“THE GREAT DECOUPLING”
Tuesday, June 15, 2010
Tuesday, June 15, 2010
Core componentsare easily customizable.
Tuesday, June 15, 2010
Core componentsare easily replaceable.
OOTuesday, June 15, 2010
LET’S EXPLORESOME RAILS CORE
FOR THE SAKE OF KNOWING!
Tuesday, June 15, 2010
THE RAILS STACK
Network
Rack
ActionDispatch
ActionController
ActionView ActiveModel
Railties
Tuesday, June 15, 2010
LET’S DOUSELESS THINGS
Tuesday, June 15, 2010
Take this code witha grain of salt
Tuesday, June 15, 2010
Let’s write a useless DSL for our views.
WRITING A TEMPLATE HANDLER
Tuesday, June 15, 2010
WRITING A TEMPLATE HANDLER
Tuesday, June 15, 2010
WRITING A TEMPLATE HANDLER
Tuesday, June 15, 2010
WHAT ACTION VIEW EXPECTS
Tuesday, June 15, 2010
Tuesday, June 15, 2010
Tuesday, June 15, 2010
Tuesday, June 15, 2010
MAKING THE DSL
Tuesday, June 15, 2010
my_cool_dsl.rb
Tuesday, June 15, 2010
my_cool_handler.rb
Tuesday, June 15, 2010
views/hello/index.cool
Tuesday, June 15, 2010
http://localhost:3000/hello
Tuesday, June 15, 2010
Let’s accept uselessconnections.
WRITING A “TELNET SERVER”
Tuesday, June 15, 2010
A simple way.ACT LIKE A RACK SERVER
Tuesday, June 15, 2010
TALK LIKE A RACK SERVER
telnet_server.rb
Tuesday, June 15, 2010
my_cool_handler.rb
Tuesday, June 15, 2010
my_cool_dsl.rb
z
Tuesday, June 15, 2010
Tuesday, June 15, 2010
CONSISTENCY!
Tuesday, June 15, 2010
hello_controller.rb views/hello/index.cool
via telnet via browser
Tuesday, June 15, 2010
DRY!
Tuesday, June 15, 2010
Let’s make this uselessness
configurable.WORKING WITH RAILTIES
Tuesday, June 15, 2010
WHAT IS A RAILTIE?The interface between the
Rails framework and its components
Tuesday, June 15, 2010
WHAT CAN YOUR RAILTIE DO?
• Allow you to accept configuration from application.rb
• Set up initializers in your extension’s context
• Tell Rails about generators and rake tasks
• Build engines, plugins, and applications
Engines, plugins, and applicationsare all subclasses of Railtie inRails 3
Tuesday, June 15, 2010
Organized!
Tuesday, June 15, 2010
railtie.rb
Tuesday, June 15, 2010
lib/super_cool/view_dsl.rb
Tuesday, June 15, 2010
config/application.rb
Tuesday, June 15, 2010
Results!
Tuesday, June 15, 2010
Let’s let others be justas useless.
MAKING THIS ADISTRIBUTABLE FRAMEWORK
Tuesday, June 15, 2010
ANATOMY OF OUR GEM
Tuesday, June 15, 2010
ANATOMY OF OUR GEM
Tuesday, June 15, 2010
package it with the usual tools...
Tuesday, June 15, 2010
Tuesday, June 15, 2010
FOOD FOR THOUGHT
IRC bot framework
Modular view systemMUD game framework
Modular enterprise app
A pluggable admin panel
Tuesday, June 15, 2010
RESOURCES
http://github.com/rails/railsbundle open railsbundle open actionpackbundle open ... etc ...http://railsapi.com/
Tuesday, June 15, 2010
RAILS CODE IS GOOD CODE
Tuesday, June 15, 2010
RAILS CODE IS REUSABLE CODE
Tuesday, June 15, 2010
And the more use cases you findfor customizing Rails 3 internals,
the better they will be writtenin the future
Tuesday, June 15, 2010
Be inspired to look whereyou might’ve not looked before
and learn!
Tuesday, June 15, 2010
Thanks!
twitter @digx+
Tuesday, June 15, 2010