Yet Another Ruby Framework - Como o Rails funciona por dentro
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Yet Another Ruby Framework - Como o Rails funciona por dentro

  • 4,781 views
Uploaded on

“Yet Another Ruby Framework – Como o Rails funciona por dentro”: Minha palestra tratará exatamente deste tema: o processo de construção de um framework utilizando Ruby. Se você realmente quer......

“Yet Another Ruby Framework – Como o Rails funciona por dentro”: Minha palestra tratará exatamente deste tema: o processo de construção de um framework utilizando Ruby. Se você realmente quer entender como o Rails funciona, então crie o seu próprio framework. Nesta palestra vou comentar sobre algumas das dificuldades que encontrei durante este projeto e quais as soluções encontradas. O processo de renderização, geradores de códigos, helpers e banco de dados estão entre os assuntos que serão tratados. Acredito que ao analisar este tópicos de um ponto de vista mais simplista fará com que você entenda melhor como algumas coisas funcionam internamente no Rails.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here

  • Eu fiz o download da apresentação mas vem com uma extensão .key como faço para abrir tal extensão.

    <b>[Comment posted from</b> http://www.nomedojogo.com/2009/10/13/os-slides-da-minha-apresentacao-no-rails-summit-latin-america-2009/]
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
4,781
On Slideshare
3,537
From Embeds
1,244
Number of Embeds
14

Actions

Shares
Downloads
62
Comments
1
Likes
3

Embeds 1,244

http://www.nomedojogo.com 967
http://nomedojogo.com 89
http://blog.andrefaria.com 55
http://andrefaria.com 52
http://coderwall.com 38
http://www.rubyonrails.pro.br 13
http://www.linkedin.com 10
http://www.slideshare.net 8
http://localhost 4
http://busk.com 3
http://andrefaria.wordpress.com 2
http://rubyonrails.pro.br 1
resource://brief-content 1
https://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Yet Another Ruby Framework Como o Rails funciona por dentro por Carlos Brando
  • 2. http://www.nomedojogo.com/
  • 3. http://www.rubyinside.com.br/
  • 4. Yet Another Ruby Framework Como o Rails funciona por dentro por Carlos Brando
  • 5. Ruby on Rails não é uma linguagem de programação
  • 6. Paradigma MVC Framework Web Basecamp
  • 7. Ruby on Rails é um framework
  • 8. Rails não serve para tudo!
  • 9. XML + JS
  • 10. Sociably
  • 11. Arquitetura
  • 12. Push-based
  • 13. MVC
  • 14. Pull-based
  • 15. require "rack" options = { :Port => 3000, :Host => "0.0.0.0", :environment => (ENV['SOCIABLY_ENV'] || "development").dup, :config => SOCIABLY_ROOT + "/config.ru", :detach => false, :debugger => false, :path => nil } # ... begin server = Rack::Handler::Mongrel rescue LoadError => e server = Rack::Handler::WEBrick end # .. server.run(ApplicationController, options.merge(:AccessLog => [])) ruby script/server
  • 16. Banco de Dados
  • 17. ORM Mapeamento objeto-relacional
  • 18. config.database_library = :datamapper init.rb ou environment.rb def initialize_database case Sociably.configuration.database_library when :datamapper require 'datamapper' DataMapper.setup(:default, database_options[SOCIABLY_ENV]) when :activerecord # ... end end initializer.rb
  • 19. Geradores de código
  • 20. Templates
  • 21. ERB vs. Haml
  • 22. Haml #profile .left.column #date= print_date #address= current_user.address .right.column #email= current_user.email #bio= current_user.bio ERB <div id="profile"> <div class="left column"> <div id="date"><%= print_date %></div> <div id="address"><%= current_user.address %></div> </div> <div class="right column"> <div id="email"><%= current_user.email %></div> <div id="bio"><%= current_user.bio %></div> </div> </div>
  • 23. <p> Olá, <%= evento %>! </p> require "erb" erb = <<END _erbout = '' <p> Olá, <%= evento %>! _erbout.concat " <p>n" </p> _erbout.concat " Ol303241, " END _erbout.concat(( evento ).to_s) def evento "Rails Summit" _erbout.concat "!n" end _erbout.concat " </p>n" instance = ::ERB.new(erb) _erbout puts instance.src
  • 24. require "erb" erb = <<END _erbout = '' <p> Olá, <%= evento %>! _erbout.concat " <p>n" </p> _erbout.concat " Ol303241, " END _erbout.concat(( evento ).to_s) def evento "Rails Summit" _erbout.concat "!n" end _erbout.concat " </p>n" instance = ::ERB.new(erb) _erbout puts instance.src eval(instance.src, binding)
  • 25. <p> Olá, Rails Summit! </p> eval(instance.src, binding)
  • 26. Demo
  • 27. @carlosbrando www.nomedojogo.com