Successfully reported this slideshow.
Your SlideShare is downloading. ×

Padrino - the Godfather of Sinatra

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
SOA on Rails
SOA on Rails
Loading in …3
×

Check these out next

1 of 70 Ad
Advertisement

More Related Content

Slideshows for you (20)

Advertisement

Similar to Padrino - the Godfather of Sinatra (20)

Advertisement

Recently uploaded (20)

Padrino - the Godfather of Sinatra

  1. 1. Padrino the Godfather of Sinatra
  2. 2. Padrino the Godfather of Sinatra ?
  3. 3. Why?
  4. 4. Quiz
  5. 5. SASS ?
  6. 6. SASS Syntactically Awesome Stylesheets
  7. 7. SASS
  8. 8. CoffeeScript ?
  9. 9. CoffeeScript
  10. 10. sprockets ?
  11. 11. sprockets Rack-based asset packaging
  12. 12. Too complicated
  13. 13. Simple is GOOD
  14. 14. Data services (mobile , API) + DB backend
  15. 15. Data flow HTTP request process by RUBY HTTP response
  16. 16. Rack
  17. 17. Rack = HTTP model env {} def ca# ( env ) [ status , { headers } , [body] ]
  18. 18. Rack application
  19. 19. Rack Webservers RACK app Frameworks
  20. 20. Rack tools
  21. 21. Rack tools
  22. 22. Rack tools
  23. 23. config.ru
  24. 24. Rack is GOOD !
  25. 25. • Renee • Presto • Hebo • RESTrack
  26. 26. TOO CROWDED
  27. 27. YARF
  28. 28. YARF Yet Another Rack Framework
  29. 29. https://github.com/zh/yarf
  30. 30. Sinatra
  31. 31. Sinatra
  32. 32. Sinatra is REAL ! http://www.sinatrarb.com/wild.html
  33. 33. But...
  34. 34. my own link_to :confirm
  35. 35. Missing pieces • Generators - Gemfile, config.ru etc. • Helpers - link_to(), image_tag() • Mailer • Admin interface - a.l.a Django
  36. 36. Too simple is BAD
  37. 37. Padrino gem install padrino
  38. 38. YARF Yet Another Rack Framework
  39. 39. Padrino = Sinatra++
  40. 40. Container ( )
  41. 41. Modular ( )
  42. 42. $ padrino ...
  43. 43. Generators
  44. 44. $ padrino g project myproj
  45. 45. $ padrino g project myproj -s jquery -c sass -e erb
  46. 46. $ padrino g project myproj -s jquery -c sass -e erb -d activerecord -a sqlite
  47. 47. $ padrino g project myproj -s jquery -c sass -e erb -d activerecord -a sqlite -t rspec -m mocha
  48. 48. Agnostic ( ) Component Default Alias Options activerecord ORM none -d , mongoid Renderer haml -e erb,slim jquery, Script none -s prototype sass , less , Style none -c compass Test none -t rspec, bacon
  49. 49. Many generators • Project generator • Controller generator • Model generator • Migration generator • Admin generator
  50. 50. padrino g admin
  51. 51. Multiple Apps by design
  52. 52. Interesting files • Gemfile - bundle install • config/apps.rb - Padrino.mount( ... ).to( ... ) • config/boot.rb - logger , locale • app/app.rb - core application install
  53. 53. Helpers • Tags: input_tag :text, :class => ‘demo’ • Assets: stylesheet_link_tag ‘layout’ • Format: escape_html( ) , truncate( ) • Links: link_to ... , :confirm => ‘Are you sure?’
  54. 54. Mailer • Configure: app/app.rb • Generate: $ pd g mailer Sample register • [views]/mailers/sample/register.plain.erb • Deliver: deliver(:sample, :register, “foo@bar”) • Tests: set :delivery_method, :test
  55. 55. Simple mailer ( )
  56. 56. Multipart Attachments
  57. 57. Dev Friendly • Reloader - disable :reload to stop it • Auto load paths - lib/* • $ padrino gen | start | stop | console | rake
  58. 58. Friendly • - http://jp.padrino.com/ • @udzura ( Uchio Kondo )
  59. 59. Padrino inside Sinatra
  60. 60. Helpers Routing
  61. 61. Mailer in Sinatra
  62. 62. I18n
  63. 63. Padrino is GOOD !
  64. 64. Questions?

×