Sto utilizzando Sinatra con Apache e Phusion-passeggeri con lo stile "classico":sinatra config.ru: a cosa serve il blocco di configurazione?
# config.ru
require 'sinatra'
configure do
....
end
require './app'
run Sinatra::Application
voglio definire alcune cose. Qual è la differenza tra la definizione all'interno del blocco di configurazione o all'esterno?
# config.ru
require 'sinatra'
# A) Defining logger here
rack = File.new("logs/rack.log", "a+")
use Rack::CommonLogger, rack
# B) Global variables here
LOGGER = Logger.new(...)
# C) Gem configuration here
DataMapper::Property::Boolean.allow_nil(false)
configure do
# A) Or defining logger here?
rack = File.new("logs/rack.log", "a+")
use Rack::CommonLogger, rack
# B) Or global variables here?
LOGGER = Logger.new(...)
# C) Or gem configuration here?
DataMapper::Property::Boolean.allow_nil(false)
....
end
require './app'
run Sinatra::Application
Ci sono alcune regole generali che cosa dovrebbe essere fatto fuori e cosa dovrebbe essere fatto all'interno? Qual è la differenza? Ho provato entrambe le varianti, ed entrambe sembravano funzionare altrettanto bene.
so configure
può essere utilizzato per reagire ambiente come questo:
configure :development do
....
end
Quindi è utile per diverse configurazioni di ambiente. Questo caso d'uso è chiaro, ma che dire delle configurazioni generali per ogni ambiente? Dove li metto? È solo una questione di stile?
Ho appena trovato [l'origine] (http://rubydoc.info/gems/sinatra/1.3.3/Sinatra/Base.configure), e in realtà non fa altro che cedere il blocco a se stesso come argomento. Quindi è solo una questione di stile. – Markus