Aaron Quint - Ruby Kaigi Presentation

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Aaron Quint - Ruby Kaigi Presentation - Presentation Transcript

    1. Sinatra: The Framework Within Aaron Quint / Quirkey NYC, LLC / Ruby Kaigi / July 18, 2009 Friday, July 31, 2009
    2. Brooklyn, New York Friday, July 31, 2009
    3. Sinatra. 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
    6. Sinatra. Friday, July 31, 2009
    7. Sinatra. require 'sinatra' get '/homer/hate/:hate' do "Don't you hate #{params[:hate]}?" end Friday, July 31, 2009
    8. Sinatra. 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
    10. Classy. 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
    12. Sinatra. Classy. Friday, July 31, 2009
    13. Sinatra. Classy. Friday, July 31, 2009
    14. Sinatra is not a framework. Friday, July 31, 2009
    15. Framework. Friday, July 31, 2009
    16. Not a Framework. Friday, July 31, 2009
    17. Sinatra. Friday, July 31, 2009
    18. Not MVC. 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
    22. 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
    25. 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
    29. GET! Friday, July 31, 2009
    30. RESPONSE! Friday, July 31, 2009
    31. User Rack RestClient Sinatra Friday, July 31, 2009
    32. 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
    35. Friday, July 31, 2009
    36. 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
    42. CALLING ALL DEVELOPERS! 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
    45. Introducing 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

    + quirkeyquirkey, 3 months ago

    custom

    279 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 279
      • 279 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 8
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories