123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- local lapis = require("lapis")
- local db = require("lapis.db")
- local Model
- do
- local _obj_0 = require("lapis.db.model")
- Model = _obj_0.Model
- end
- local config
- do
- local _obj_0 = require("lapis.config")
- config = _obj_0.config
- end
- local insert
- do
- local _obj_0 = table
- insert = _obj_0.insert
- end
- local sort
- do
- local _obj_0 = table
- sort = _obj_0.sort
- end
- local random
- do
- local _obj_0 = math
- random = _obj_0.random
- end
- local Fortune
- do
- local _parent_0 = Model
- local _base_0 = { }
- _base_0.__index = _base_0
- setmetatable(_base_0, _parent_0.__base)
- local _class_0 = setmetatable({
- __init = function(self, ...)
- return _parent_0.__init(self, ...)
- end,
- __base = _base_0,
- __name = "Fortune",
- __parent = _parent_0
- }, {
- __index = function(cls, name)
- local val = rawget(_base_0, name)
- if val == nil then
- return _parent_0[name]
- else
- return val
- end
- end,
- __call = function(cls, ...)
- local _self_0 = setmetatable({}, _base_0)
- cls.__init(_self_0, ...)
- return _self_0
- end
- })
- _base_0.__class = _class_0
- if _parent_0.__inherited then
- _parent_0.__inherited(_parent_0, _class_0)
- end
- Fortune = _class_0
- end
- local World
- do
- local _parent_0 = Model
- local _base_0 = { }
- _base_0.__index = _base_0
- setmetatable(_base_0, _parent_0.__base)
- local _class_0 = setmetatable({
- __init = function(self, ...)
- return _parent_0.__init(self, ...)
- end,
- __base = _base_0,
- __name = "World",
- __parent = _parent_0
- }, {
- __index = function(cls, name)
- local val = rawget(_base_0, name)
- if val == nil then
- return _parent_0[name]
- else
- return val
- end
- end,
- __call = function(cls, ...)
- local _self_0 = setmetatable({}, _base_0)
- cls.__init(_self_0, ...)
- return _self_0
- end
- })
- _base_0.__class = _class_0
- if _parent_0.__inherited then
- _parent_0.__inherited(_parent_0, _class_0)
- end
- World = _class_0
- end
- local Benchmark
- do
- local _parent_0 = lapis.Application
- local _base_0 = {
- ["/"] = function(self)
- return {
- json = {
- message = "Hello, World!"
- }
- }
- end,
- ["/db"] = function(self)
- local num_queries = tonumber(self.params.queries) or 1
- if num_queries < 2 then
- local w = World:find(random(1, 10000))
- return {
- json = {
- id = w.id,
- randomNumber = w.randomnumber
- }
- }
- end
- local worlds = { }
- for i = 1, num_queries do
- local w = World:find(random(1, 10000))
- insert(worlds, {
- id = w.id,
- randomNumber = w.randomnumber
- })
- end
- return {
- json = worlds
- }
- end,
- ["/fortunes"] = function(self)
- self.fortunes = Fortune:select("")
- insert(self.fortunes, {
- id = 0,
- message = "Additional fortune added at request time."
- })
- sort(self.fortunes, function(a, b)
- return a.message < b.message
- end)
- return {
- layout = false
- }, self:html(function()
- raw('<!DOCTYPE HTML>')
- return html(function()
- head(function()
- return title("Fortunes")
- end)
- return body(function()
- return element("table", function()
- tr(function()
- th(function()
- return text("id")
- end)
- return th(function()
- return text("message")
- end)
- end)
- local _list_0 = self.fortunes
- for _index_0 = 1, #_list_0 do
- local fortune = _list_0[_index_0]
- tr(function()
- td(function()
- return text(fortune.id)
- end)
- return td(function()
- return text(fortune.message)
- end)
- end)
- end
- end)
- end)
- end)
- end)
- end,
- ["/update"] = function(self)
- local num_queries = tonumber(self.params.queries) or 1
- if num_queries == 0 then
- num_queries = 1
- end
- local worlds = { }
- for i = 1, num_queries do
- local wid = random(1, 10000)
- local world = World:find(wid)
- world.randomnumber = random(1, 10000)
- world:update("randomnumber")
- insert(worlds, {
- id = world.id,
- randomNumber = world.randomnumber
- })
- end
- if num_queries < 2 then
- return {
- json = worlds[1]
- }
- end
- return {
- json = worlds
- }
- end,
- ["/plaintext"] = function(self)
- return {
- content_type = "text/plain",
- layout = false
- }, "Hello, World!"
- end
- }
- _base_0.__index = _base_0
- setmetatable(_base_0, _parent_0.__base)
- local _class_0 = setmetatable({
- __init = function(self, ...)
- return _parent_0.__init(self, ...)
- end,
- __base = _base_0,
- __name = "Benchmark",
- __parent = _parent_0
- }, {
- __index = function(cls, name)
- local val = rawget(_base_0, name)
- if val == nil then
- return _parent_0[name]
- else
- return val
- end
- end,
- __call = function(cls, ...)
- local _self_0 = setmetatable({}, _base_0)
- cls.__init(_self_0, ...)
- return _self_0
- end
- })
- _base_0.__class = _class_0
- if _parent_0.__inherited then
- _parent_0.__inherited(_parent_0, _class_0)
- end
- Benchmark = _class_0
- return _class_0
- end
|