controllers.rb 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. HelloWorld::App.controllers do
  2. get '/json', :provides => [:json] do
  3. response.headers['Server'] = 'padrino'
  4. response.headers['Date'] = Time.now.httpdate
  5. {message: "Hello, World!"}.to_json
  6. end
  7. get '/db', :provides => [:json] do
  8. response.headers['Server'] = 'padrino'
  9. response.headers['Date'] = Time.now.httpdate
  10. id = Random.rand(10000) + 1
  11. World.get(id).attributes.to_json
  12. end
  13. get '/queries', :provides => [:json] do
  14. response.headers['Server'] = 'padrino'
  15. response.headers['Date'] = Time.now.httpdate
  16. queries = params['queries'].to_i
  17. queries = 1 if queries < 1
  18. queries = 500 if queries > 500
  19. results = (1..queries).map do
  20. World.get(Random.rand(10000) + 1).attributes
  21. end.to_json
  22. end
  23. get '/fortunes' do
  24. response.headers['Server'] = 'padrino'
  25. response.headers['Date'] = Time.now.httpdate
  26. @fortunes = Fortune.all
  27. @fortunes << Fortune.new(:id => 0, :message => "Additional fortune added at request time.")
  28. @fortunes = @fortunes.sort_by { |x| x.message }
  29. render 'fortunes', layout: "layout"
  30. end
  31. get '/updates', :provides => [:json] do
  32. response.headers['Server'] = 'padrino'
  33. response.headers['Date'] = Time.now.httpdate
  34. queries = params['queries'].to_i
  35. queries = 1 if queries < 1
  36. queries = 500 if queries > 500
  37. worlds = (1..queries).map do
  38. # get a random row from the database, which we know has 10000
  39. # rows with ids 1 - 10000
  40. world = World.get(Random.rand(10000) + 1)
  41. world.update(:randomNumber => Random.rand(10000) + 1)
  42. world.attributes
  43. end
  44. worlds.to_json
  45. end
  46. get '/plaintext' do
  47. response.headers['Server'] = 'padrino'
  48. response.headers['Date'] = Time.now.httpdate
  49. content_type 'text/plain'
  50. "Hello, World!"
  51. end
  52. end