railties @ encontro guru sc (nao apresentado) - 2010.09.18
TRANSCRIPT
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
RAILTIESOU
COMO DESENVOLVER PLUGINS/GEMS PARA RAILS
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
$ WHOAMI
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
CARLOS ANTONIO DA SILVA
@cantoniodasilva
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
BSI NA UNIDAVI - RIO DO SUL
GP NO SENAC - RIO DO SUL/FLORIANÓPOLIS
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
TRABALHO NA
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
DEVISE
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
SIMPLE_FORM
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
RESPONDERS
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
Railties
WTF???
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
Railties
WTF???WTF???
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
RailtiesWTF???
Application
Initialization
Engine
Generators
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
RailtiesWTF???
Application
Initialization
Engine
Generators
HOOKSSunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
Railties
WTF???
HooksGENERATORS
module FooBar class Railtie < Rails::Railtie
config.generators.orm = :foo_bar
endend
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
Railties
WTF???
HooksRAKE TASKS
module FooBar class Railtie < Rails::Railtie
rake_tasks do load 'foo_bar/foo.rake' end
endend
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
Railties
WTF???
HooksINIT
module FooBar class Railtie < Rails::Railtie
# initialization hooks config.before_configuration {} config.before_eager_load {} config.before_initialize {} config.after_initialize {} config.to_prepare {}
endend
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
Railties
WTF???
HooksINIT
module FooBar class Railtie < Rails::Railtie
initializer 'foo_bar.do_whatever' do |app| puts "I'm initializing!" # load your stuff here end
endend
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
WTF???
FRAMEWORK LOADING
ActiveSupport.on_load(:active_record) do include FooBar::ActiveRecordExtensions end
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
E O QUE EU FAÇO COM ESSE NEGÓCIO DE
FRAMEWORK LOADING?
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
Railties
WTF???
HooksINIT
module FooBar class Railtie < Rails::Railtie
initializer 'foo_bar.do_whatever' do |app| ActiveSupport.on_load(:active_record) do include FooBar::ActiveRecordExtensions end end
endend
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
EXEMPLO REAL???
Sunday, November 6, 11
Carlos Antonio @cantoniodasilvablog.plataformatec.com.br
WTF???
module Responders autoload :FlashResponder, 'responders/flash_responder' autoload :HttpCacheResponder, 'responders/http_cache_responder' autoload :CollectionResponder, 'responders/collection_responder'
require 'responders/controller_method'
class Railtie < ::Rails::Railtie config.responders = ActiveSupport::OrderedOptions.new config.generators.scaffold_controller = :responders_controller
# Add load paths straight to I18n, so engines and application can overwrite it. require 'active_support/i18n' I18n.load_path << File.expand_path('../responders/locales/en.yml', __FILE__)
initializer "responders.flash_responder" do |app| if app.config.responders.flash_keys Responders::FlashResponder.flash_keys = app.config.responders.flash_keys end end endend
Sunday, November 6, 11
@cantoniodasilva
blog.plataformatec.com.br
Obrigado!
?!
Sunday, November 6, 11