# frozen_string_literal: true # Our Rack application to be executed by rackup class HelloWorld DEFAULT_HEADERS = {}.tap do |h| h['Server'] = SERVER_STRING if SERVER_STRING h.freeze end def bounded_queries(env) params = Rack::Utils.parse_query(env['QUERY_STRING']) queries = params['queries'].to_i return QUERIES_MIN if queries < QUERIES_MIN return QUERIES_MAX if queries > QUERIES_MAX queries end # Return a random number between 1 and MAX_PK def rand1 rand(MAX_PK).succ end WORLD_BY_ID = World.naked.where(:id=>:$id).prepare(:first, :world_by_id) WORLD_UPDATE = World.where(:id=>:$id).prepare(:update, :world_update, :randomnumber=>:$randomnumber) def db WORLD_BY_ID.(:id=>rand1) end def queries(env) DB.synchronize do Array.new(bounded_queries(env)) do WORLD_BY_ID.(:id=>rand1) end end end def fortunes fortunes = Fortune.all fortunes << Fortune.new( :id=>0, :message=>'Additional fortune added at request time.' ) fortunes.sort_by!(&:message) html = String.new(<<~'HTML')
id | message |
---|---|
#{fortune.id} | #{Rack::Utils.escape_html(fortune.message)} |