Your SlideShare is downloading. ×
0
Yet Another Ruby Framework
Como o Rails funciona por dentro
                             por Carlos Brando
http://www.nomedojogo.com/
http://www.rubyinside.com.br/
Yet Another Ruby Framework
Como o Rails funciona por dentro
                             por Carlos Brando
Ruby on Rails não é uma
linguagem de programação
Paradigma MVC
Framework Web
   Basecamp
Ruby on Rails é um
   framework
Rails não serve para tudo!
XML + JS
Sociably
Arquitetura
Push-based
MVC
Pull-based
require "rack"

options = {
  :Port          =>   3000,
  :Host          =>   "0.0.0.0",
  :environment   =>   (ENV['SOCIA...
Banco de Dados
ORM
Mapeamento objeto-relacional
config.database_library = :datamapper




  init.rb ou environment.rb
def initialize_database
  case Sociably.configuratio...
Geradores de código
Templates
ERB vs. Haml
Haml
          #profile
            .left.column
              #date= print_date
              #address= current_user.addr...
<p>
                Olá, <%= evento %>!
              </p>

require "erb"
erb = <<END                 _erbout = ''
  <p>
 ...
require "erb"
erb = <<END                 _erbout = ''
  <p>
    Olá, <%= evento %>!     _erbout.concat "   <p>n"
  </p>  ...
<p>
       Olá, Rails Summit!
     </p>




eval(instance.src, binding)
Demo
@carlosbrando

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

Yet Another Ruby Framework - Como o Rails funciona por dentro

2,972

Published 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 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.

Published in: Technology
1 Comment
3 Likes
Statistics
Notes

  • 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/]
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,972
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
63
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide
  • Transcript of "Yet Another Ruby Framework - Como o Rails funciona por dentro"

    1. 1. Yet Another Ruby Framework Como o Rails funciona por dentro por Carlos Brando
    2. 2. http://www.nomedojogo.com/
    3. 3. http://www.rubyinside.com.br/
    4. 4. Yet Another Ruby Framework Como o Rails funciona por dentro por Carlos Brando
    5. 5. Ruby on Rails não é uma linguagem de programação
    6. 6. Paradigma MVC Framework Web Basecamp
    7. 7. Ruby on Rails é um framework
    8. 8. Rails não serve para tudo!
    9. 9. XML + JS
    10. 10. Sociably
    11. 11. Arquitetura
    12. 12. Push-based
    13. 13. MVC
    14. 14. Pull-based
    15. 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. 16. Banco de Dados
    17. 17. ORM Mapeamento objeto-relacional
    18. 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. 19. Geradores de código
    20. 20. Templates
    21. 21. ERB vs. Haml
    22. 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. 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. 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. 25. <p> Olá, Rails Summit! </p> eval(instance.src, binding)
    26. 26. Demo
    27. 27. @carlosbrando www.nomedojogo.com
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×