Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions frameworks/Ruby/rack-app/app.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# frozen_string_literal: true
require 'bundler/setup'
Bundler.require(:default) # Load core modules

require 'rack/app'
require 'rack/app/front_end'
require_relative 'db'
require 'json'
require 'time'

class App < Rack::App
MAX_PK = 10_000
Expand Down
1 change: 0 additions & 1 deletion frameworks/Ruby/rack-app/config.ru
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# frozen_string_literal: true
require_relative 'boot'
require_relative 'app'

run App
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
# frozen_string_literal: true
require 'bundler/setup'
require 'time'

MAX_PK = 10_000
ID_RANGE = (1..MAX_PK).freeze
ALL_IDS = ID_RANGE.to_a
QUERIES_MIN = 1
QUERIES_MAX = 500
SEQUEL_NO_ASSOCIATIONS = true
#SERVER_STRING = "Sinatra"

Bundler.require(:default) # Load core modules

def connect(dbtype)
Bundler.require(dbtype) # Load database-specific modules
Expand Down
3 changes: 2 additions & 1 deletion frameworks/Ruby/rack-sequel/config.ru
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require_relative 'boot'
# frozen_string_literal: true
require_relative 'hello_world'

use Rack::ContentLength
run HelloWorld.new
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
# frozen_string_literal: true
require 'bundler/setup'

SEQUEL_NO_ASSOCIATIONS = true

Bundler.require(:default) # Load core modules

def connect(dbtype)
Bundler.require(dbtype) # Load database-specific modules

Expand Down
6 changes: 5 additions & 1 deletion frameworks/Ruby/rack-sequel/hello_world.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# frozen_string_literal: true
require 'bundler/setup'
Bundler.require(:default) # Load core modules

require_relative 'db'
require 'time'

# Our Rack application to be executed by rackup
Expand All @@ -8,8 +12,8 @@ class HelloWorld
ALL_IDS = ID_RANGE.to_a
QUERIES_MIN = 1
QUERIES_MAX = 500

CONTENT_TYPE = 'Content-Type'
CONTENT_LENGTH = 'Content-Length'
JSON_TYPE = 'application/json'
HTML_TYPE = 'text/html; charset=utf-8'
PLAINTEXT_TYPE = 'text/plain'
Expand Down
2 changes: 1 addition & 1 deletion frameworks/Ruby/rack/hello_world.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ class HelloWorld
ALL_IDS = QUERY_RANGE.to_a # enumeration of all the IDs in fortune DB
MIN_QUERIES = 1 # min number of records that can be retrieved
MAX_QUERIES = 500 # max number of records that can be retrieved

CONTENT_TYPE = 'Content-Type'
CONTENT_LENGTH = 'Content-Length'
JSON_TYPE = 'application/json'
HTML_TYPE = 'text/html; charset=utf-8'
PLAINTEXT_TYPE = 'text/plain'
Expand Down
3 changes: 2 additions & 1 deletion frameworks/Ruby/roda-sequel/config.ru
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
require_relative 'boot'
# frozen_string_literal: true
require_relative 'hello_world'

run HelloWorld.freeze.app
Original file line number Diff line number Diff line change
@@ -1,23 +1,6 @@
# frozen_string_literal: true
require "bundler/setup"
require "time"
MAX_PK = 10_000
QUERY_RANGE = (1..MAX_PK).freeze
ALL_IDS = QUERY_RANGE.to_a
QUERIES_MIN = 1
QUERIES_MAX = 500
SEQUEL_NO_ASSOCIATIONS = true

SERVER_STRING = "roda"

Bundler.require(:default) # Load core modules

CONTENT_TYPE = 'Content-Type'
JSON_TYPE = 'application/json'
HTML_TYPE = 'text/html; charset=utf-8'
PLAINTEXT_TYPE = 'text/plain'
DATE_HEADER = 'Date'
SERVER_HEADER = 'Server'
SEQUEL_NO_ASSOCIATIONS = true

def connect(dbtype)
Bundler.require(dbtype) # Load database-specific modules
Expand Down
19 changes: 19 additions & 0 deletions frameworks/Ruby/roda-sequel/hello_world.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,26 @@
# frozen_string_literal: true
require 'bundler/setup'
Bundler.require(:default) # Load core modules

require_relative 'db'
require 'time'

# Our Rack application to be executed by rackup
class HelloWorld < Roda
MAX_PK = 10_000
QUERY_RANGE = (1..MAX_PK).freeze
ALL_IDS = QUERY_RANGE.to_a
QUERIES_MIN = 1
QUERIES_MAX = 500

CONTENT_TYPE = 'Content-Type'
JSON_TYPE = 'application/json'
HTML_TYPE = 'text/html; charset=utf-8'
PLAINTEXT_TYPE = 'text/plain'
DATE_HEADER = 'Date'
SERVER_HEADER = 'Server'
SERVER_STRING = 'roda'

plugin :hooks
plugin :render, escape: true, layout_opts: { cache_key: "default_layout" }
plugin :default_headers, SERVER_HEADER => SERVER_STRING
Expand Down
3 changes: 2 additions & 1 deletion frameworks/Ruby/sinatra-sequel/config.ru
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
require_relative 'boot'
# frozen_string_literal: true
require_relative 'hello_world'

run HelloWorld.new
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
# frozen_string_literal: true
require 'bundler/setup'
require 'time'

MAX_PK = 10_000
ID_RANGE = (1..MAX_PK).freeze
ALL_IDS = ID_RANGE.to_a
QUERIES_MIN = 1
QUERIES_MAX = 500
SEQUEL_NO_ASSOCIATIONS = true
SERVER_STRING = "Sinatra"

Bundler.require(:default) # Load core modules

def connect(dbtype)
Bundler.require(dbtype) # Load database-specific modules
Expand Down
13 changes: 13 additions & 0 deletions frameworks/Ruby/sinatra-sequel/hello_world.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
# frozen_string_literal: true
require 'bundler/setup'
Bundler.require(:default) # Load core modules

require_relative 'db'
require 'time'

# Our Rack application to be executed by rackup
class HelloWorld < Sinatra::Base
MAX_PK = 10_000
ID_RANGE = (1..MAX_PK).freeze
ALL_IDS = ID_RANGE.to_a
QUERIES_MIN = 1
QUERIES_MAX = 500

SERVER_STRING = 'Sinatra'

configure do
# Static file serving is ostensibly disabled in modular mode but Sinatra
# still calls an expensive Proc on every request...
Expand Down
3 changes: 2 additions & 1 deletion frameworks/Ruby/sinatra/config.ru
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
require_relative 'boot'
# frozen_string_literal: true
require_relative 'hello_world'

run HelloWorld.new
3 changes: 3 additions & 0 deletions frameworks/Ruby/sinatra/config/puma.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
before_fork do
ActiveRecord::Base.connection_handler.clear_active_connections!
end
13 changes: 0 additions & 13 deletions frameworks/Ruby/sinatra/boot.rb → frameworks/Ruby/sinatra/db.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,4 @@
# frozen_string_literal: true
require 'bundler/setup'
require 'time'

MAX_PK = 10_000
ID_RANGE = (1..MAX_PK).freeze
ALL_IDS = ID_RANGE.to_a
QUERIES_MIN = 1
QUERIES_MAX = 500
SERVER_STRING = "Sinatra"

Bundler.require(:default) # Load core modules

def connect(dbtype)
Bundler.require(dbtype) # Load database-specific modules
Expand Down Expand Up @@ -64,5 +53,3 @@ def self.upsert_all(attributes, on_duplicate: :update, update_only: nil, returni
class Fortune < ActiveRecord::Base
self.table_name = name
end

ActiveRecord::Base.connection_handler.clear_active_connections!
13 changes: 13 additions & 0 deletions frameworks/Ruby/sinatra/hello_world.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
# frozen_string_literal: true
require 'bundler/setup'
Bundler.require(:default) # Load core modules

require_relative 'db'
require 'time'

# Our Rack application to be executed by rackup
class HelloWorld < Sinatra::Base
MAX_PK = 10_000
ID_RANGE = (1..MAX_PK).freeze
ALL_IDS = ID_RANGE.to_a
QUERIES_MIN = 1
QUERIES_MAX = 500

SERVER_STRING = 'Sinatra'

configure do
# Static file serving is ostensibly disabled in modular mode but Sinatra
# still calls an expensive Proc on every request...
Expand Down
Loading