Sinatra
Sinatra is a ruby framework oriented for encapsulating and integrating Rack into describing URI routing with verb-resource pairs.
The paris are expessed utilizing Ruby using HTTP verbs defined as functions (ie: get
, put
, etc), taking the resource path with possible parameters and a block to be executed on match.
Notes
-
ActiveRecord connection pooling.
When using ActiveRecord with Sinatra you need to notify ActiveRecord when you are done using a database connection. The simplest mechanism to do so is to use the ActiveRecord Rack Middleware:
use ActiveRecord::ConnectionAdapters::ConnectionManagement
. -
Running on start
When running the application manuaully
Use for service discovery, etc. Effectively overload the
run!
method on your application class and delegate to super before or after your code.Rackup/Thin/Puma/etc use a different entry point, thus making this technique not useful.
Execute code once Sinatra server is running