SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
Sinatra:
    The Framework Within



    Aaron Quint / Quirkey NYC, LLC
                    /

    Ruby Kaigi / July 18, 2009


Friday, July 31, 2009
Brooklyn, New York

Friday, July 31, 2009
Sinatra.




Friday, July 31, 2009
I didn’t write Sinatra,
                                         …
                            I just love it.



Friday, July 31, 2009
Sinatra.

     require 'sinatra'

     get '/' do
       "Don't you hate pants?"
     end




Friday, July 31, 2009
Sinatra.




Friday, July 31, 2009
Sinatra.


     require 'sinatra'

     get '/homer/hate/:hate' do
       "Don't you hate #{params[:hate]}?"
     end




Friday, July 31, 2009
Sinatra.




Friday, July 31, 2009
Sinatra.

     require 'sinatra'

     get '/homer/hate/:hate.json' do
       content_type 'json'
       "{'hate': '#{params[:hate]}'}"
     end

     get '/homer/hate/:hate' do
       "Don't you hate #{params[:hate]}?"
     end

Friday, July 31, 2009
Classy.




Friday, July 31, 2009
Sinatra. Classy.
     require 'sinatra'
     require 'rack/flash'

     class ClassyApp < Sinatra::Default
       set :sessions, true
       use Rack::Flash

          get '/' do
            haml :index
          end

          post '/classify' do
            flash[:message] = 'Your text has been classified.'
            @text = "I do say, #{params[:text]}. Quite!"
            haml :classify
          end

     end

Friday, July 31, 2009
Sinatra. Classy.




Friday, July 31, 2009
Sinatra. Classy.




Friday, July 31, 2009
Sinatra
                             is not
                        a framework.



Friday, July 31, 2009
Framework.




Friday, July 31, 2009
Not a Framework.




Friday, July 31, 2009
Sinatra.




Friday, July 31, 2009
Not MVC.




Friday, July 31, 2009
WDNNSP
                        (We Don’t Need No Stinkin’ Pattern)




Friday, July 31, 2009
Sinatra
                           is a
                        library.



Friday, July 31, 2009
Sinatra as a library.

     ‣A DSL for defining routes.
     ‣                        DSL

     ‣A nicer Rack.
     ‣           Rack



Friday, July 31, 2009
Friday, July 31, 2009
Code first.

                        Then Sinatra.
                          Sinatra


Friday, July 31, 2009
My Awesome
                          Ruby Project.

                        Ruby
                                 Includes Sinatra.
                               Sinatra




Friday, July 31, 2009
Sinatra!




Friday, July 31, 2009
HTTP as
                           a language.
                        HTTP



Friday, July 31, 2009
Sinatra
                            speaks HTTP.
                        Sinatra HTTP



Friday, July 31, 2009
Do you speak HTTP?
                             HTTP



Friday, July 31, 2009
GET!




Friday, July 31, 2009
RESPONSE!




Friday, July 31, 2009
User        Rack
                        RestClient   Sinatra




Friday, July 31, 2009
Friday, July 31, 2009
The power of
                        the local web.
                               Web



Friday, July 31, 2009
The power of
                         localhost.




Friday, July 31, 2009
Friday, July 31, 2009
Friday, July 31, 2009
CALLING ALL
                        DEVELOPERS!




Friday, July 31, 2009
CALLING ALL
                        DEVELOPERS!
                         require 'sinatra'




Friday, July 31, 2009
CALLING ALL DEVELOPERS!




                        Awesome
                         Codes.




Friday, July 31, 2009
CALLING ALL DEVELOPERS!




                        Sinatra!




Friday, July 31, 2009
CALLING ALL DEVELOPERS!
     require 'sinatra'

     module MyProject
       class App < ::Sinatra::Default

               set :root, File.join(File.dirname(__FILE__), '..', '..')
               set :app_file, __FILE__
               #...

         get '/' do
           # ... SOMETHING AWESOME
         end
         # ...
       end
     end


Friday, July 31, 2009
CALLING ALL DEVELOPERS!




Friday, July 31, 2009
CALLING ALL DEVELOPERS!



                        Sinatra!




Friday, July 31, 2009
require 'sinatra'

   module Gembox


    CALLING ALL DEVELOPERS!
     class App < ::Sinatra::Default
       include Gembox::ViewHelpers
       include WillPaginate::ViewHelpers

          @@root = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))

          set :root, @@root
          set :app_file, __FILE__

          before do
            Gembox::Gems.load
            @gems = Gembox::Gems.local_gems.paginate :page => params[:page], :per_page => 30
            @stats = Gembox::Gems.stats
          end

          #...
          get '/' do
            redirect '/gems'
          end

          get %r{/gems/doc/([w-_]+)/?([d.]+)?/?(.*)?} do
            #...
          end

          get %r{/gems/([w-_]+)/?([d.]+)?/?} do
            # ...
            haml :gem, :layout => show_layout
          end

          get '/gems/?' do
            # ...
            haml "gems_#{@show_as}".to_sym, :layout => show_layout
          end
Friday, July 31, 2009
Introducing




Friday, July 31, 2009
Super
                          Simple
                              Sinatra
                        Starter.

Friday, July 31, 2009
Vegas

     #!/usr/bin/env ruby

     require File.expand_path(File.dirname(__FILE__) +
                         "/../lib/gembox")
     require 'vegas'

     Vegas::Runner.new(Gembox::App, 'gembox')




Friday, July 31, 2009
Vegas

     [11:05 PM:~] $ gembox -h
     Usage: gembox [options]

     Vegas       options:
       -s,       --server SERVER     serve using SERVER (webrick/mongrel)
       -o,       --host HOST         listen on HOST (default: 0.0.0.0)
       -p,       --port PORT         use PORT (default: 5678)
       -e,       --env ENVIRONMENT   use ENVIRONMENT for defaults (default: development)
       -F,       --foreground        don't daemonize, run in the foreground
       -K,       --kill              kill the running process and exit
       -S,       --status            display the current running PID and URL then quit

     Common options:
       -h, --help                    Show this message
           --version                 Show version




Friday, July 31, 2009
Vegas
    $ sudo gem install gembox




Friday, July 31, 2009
Vegas
    $ sudo gem install neerajdotname-javascript_lab




Friday, July 31, 2009
The FUTURE!

    ‣Gems+Vegas as a distribution platform.
    ‣
    ‣Even easier workflow for mounting.
    ‣
    ‣Vegas as the central brain.
    ‣Vegas
    ‣Distribute tasks across the local network.
    ‣

Friday, July 31, 2009
Thank you!
     Thanks to Sougo Tsuboi, Leonard
      Chin and the other Ruby Kaigi
                Volunteers


Friday, July 31, 2009
Av
                                                                  ai
                                                                  la
                                                                      bl
                                                                        e
                                                                       fo
                                                                        rh
                                                                            ire
                                                                             !
                                    Aaron Quint
                                aaron@quirkey.com

                              http://www.quirkey.com

                        All code available and open source at:

                          http://code.quirkey.com/vegas
                         http://code.quirkey.com/gembox


Friday, July 31, 2009

Mais conteúdo relacionado

Semelhante a Aaron Quint - Ruby Kaigi Presentation

Welcome and Introduction
Welcome and IntroductionWelcome and Introduction
Welcome and IntroductionESUG
 
Rj Auburn's Presentation at Emerging Communication Conference & Awards 2009 E...
Rj Auburn's Presentation at Emerging Communication Conference & Awards 2009 E...Rj Auburn's Presentation at Emerging Communication Conference & Awards 2009 E...
Rj Auburn's Presentation at Emerging Communication Conference & Awards 2009 E...eCommConf
 
Prototype & Scriptaculous
Prototype  & ScriptaculousPrototype  & Scriptaculous
Prototype & ScriptaculousThomas Fuchs
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009Fabio Akita
 
Wave Presentation
Wave PresentationWave Presentation
Wave Presentationbedney
 

Semelhante a Aaron Quint - Ruby Kaigi Presentation (7)

Welcome and Introduction
Welcome and IntroductionWelcome and Introduction
Welcome and Introduction
 
Rj Auburn's Presentation at Emerging Communication Conference & Awards 2009 E...
Rj Auburn's Presentation at Emerging Communication Conference & Awards 2009 E...Rj Auburn's Presentation at Emerging Communication Conference & Awards 2009 E...
Rj Auburn's Presentation at Emerging Communication Conference & Awards 2009 E...
 
Rejectkaigi 2010
Rejectkaigi 2010Rejectkaigi 2010
Rejectkaigi 2010
 
Prototype & Scriptaculous
Prototype  & ScriptaculousPrototype  & Scriptaculous
Prototype & Scriptaculous
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009
 
Perl Critic In Depth
Perl Critic In DepthPerl Critic In Depth
Perl Critic In Depth
 
Wave Presentation
Wave PresentationWave Presentation
Wave Presentation
 

Último

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Último (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Aaron Quint - Ruby Kaigi Presentation

  • 1. Sinatra: The Framework Within Aaron Quint / Quirkey NYC, LLC / Ruby Kaigi / July 18, 2009 Friday, July 31, 2009
  • 4. I didn’t write Sinatra, … I just love it. Friday, July 31, 2009
  • 5. Sinatra. require 'sinatra' get '/' do "Don't you hate pants?" end Friday, July 31, 2009
  • 7. Sinatra. require 'sinatra' get '/homer/hate/:hate' do "Don't you hate #{params[:hate]}?" end Friday, July 31, 2009
  • 9. Sinatra. require 'sinatra' get '/homer/hate/:hate.json' do content_type 'json' "{'hate': '#{params[:hate]}'}" end get '/homer/hate/:hate' do "Don't you hate #{params[:hate]}?" end Friday, July 31, 2009
  • 11. Sinatra. Classy. require 'sinatra' require 'rack/flash' class ClassyApp < Sinatra::Default set :sessions, true use Rack::Flash get '/' do haml :index end post '/classify' do flash[:message] = 'Your text has been classified.' @text = "I do say, #{params[:text]}. Quite!" haml :classify end end Friday, July 31, 2009
  • 14. Sinatra is not a framework. Friday, July 31, 2009
  • 16. Not a Framework. Friday, July 31, 2009
  • 19. WDNNSP (We Don’t Need No Stinkin’ Pattern) Friday, July 31, 2009
  • 20. Sinatra is a library. Friday, July 31, 2009
  • 21. Sinatra as a library. ‣A DSL for defining routes. ‣ DSL ‣A nicer Rack. ‣ Rack Friday, July 31, 2009
  • 23. Code first. Then Sinatra. Sinatra Friday, July 31, 2009
  • 24. My Awesome Ruby Project. Ruby Includes Sinatra. Sinatra Friday, July 31, 2009
  • 26. HTTP as a language. HTTP Friday, July 31, 2009
  • 27. Sinatra speaks HTTP. Sinatra HTTP Friday, July 31, 2009
  • 28. Do you speak HTTP? HTTP Friday, July 31, 2009
  • 31. User Rack RestClient Sinatra Friday, July 31, 2009
  • 33. The power of the local web. Web Friday, July 31, 2009
  • 34. The power of localhost. Friday, July 31, 2009
  • 37. CALLING ALL DEVELOPERS! Friday, July 31, 2009
  • 38. CALLING ALL DEVELOPERS! require 'sinatra' Friday, July 31, 2009
  • 39. CALLING ALL DEVELOPERS! Awesome Codes. Friday, July 31, 2009
  • 40. CALLING ALL DEVELOPERS! Sinatra! Friday, July 31, 2009
  • 41. CALLING ALL DEVELOPERS! require 'sinatra' module MyProject class App < ::Sinatra::Default set :root, File.join(File.dirname(__FILE__), '..', '..') set :app_file, __FILE__ #... get '/' do # ... SOMETHING AWESOME end # ... end end Friday, July 31, 2009
  • 43. CALLING ALL DEVELOPERS! Sinatra! Friday, July 31, 2009
  • 44. require 'sinatra' module Gembox CALLING ALL DEVELOPERS! class App < ::Sinatra::Default include Gembox::ViewHelpers include WillPaginate::ViewHelpers @@root = File.expand_path(File.join(File.dirname(__FILE__), '..', '..')) set :root, @@root set :app_file, __FILE__ before do Gembox::Gems.load @gems = Gembox::Gems.local_gems.paginate :page => params[:page], :per_page => 30 @stats = Gembox::Gems.stats end #... get '/' do redirect '/gems' end get %r{/gems/doc/([w-_]+)/?([d.]+)?/?(.*)?} do #... end get %r{/gems/([w-_]+)/?([d.]+)?/?} do # ... haml :gem, :layout => show_layout end get '/gems/?' do # ... haml "gems_#{@show_as}".to_sym, :layout => show_layout end Friday, July 31, 2009
  • 46. Super Simple Sinatra Starter. Friday, July 31, 2009
  • 47. Vegas #!/usr/bin/env ruby require File.expand_path(File.dirname(__FILE__) + "/../lib/gembox") require 'vegas' Vegas::Runner.new(Gembox::App, 'gembox') Friday, July 31, 2009
  • 48. Vegas [11:05 PM:~] $ gembox -h Usage: gembox [options] Vegas options: -s, --server SERVER serve using SERVER (webrick/mongrel) -o, --host HOST listen on HOST (default: 0.0.0.0) -p, --port PORT use PORT (default: 5678) -e, --env ENVIRONMENT use ENVIRONMENT for defaults (default: development) -F, --foreground don't daemonize, run in the foreground -K, --kill kill the running process and exit -S, --status display the current running PID and URL then quit Common options: -h, --help Show this message --version Show version Friday, July 31, 2009
  • 49. Vegas $ sudo gem install gembox Friday, July 31, 2009
  • 50. Vegas $ sudo gem install neerajdotname-javascript_lab Friday, July 31, 2009
  • 51. The FUTURE! ‣Gems+Vegas as a distribution platform. ‣ ‣Even easier workflow for mounting. ‣ ‣Vegas as the central brain. ‣Vegas ‣Distribute tasks across the local network. ‣ Friday, July 31, 2009
  • 52. Thank you! Thanks to Sougo Tsuboi, Leonard Chin and the other Ruby Kaigi Volunteers Friday, July 31, 2009
  • 53. Av ai la bl e fo rh ire ! Aaron Quint aaron@quirkey.com http://www.quirkey.com All code available and open source at: http://code.quirkey.com/vegas http://code.quirkey.com/gembox Friday, July 31, 2009