Używam Sinatra z Apache i Phusion-osobowe o "klasycznym" stylu:sinatra config.ru: do czego służy blok konfiguracji?
# config.ru
require 'sinatra'
configure do
....
end
require './app'
run Sinatra::Application
chcę definiować pewne rzeczy. Jaka jest różnica między definiowaniem go wewnątrz bloku konfiguracyjnego lub na zewnątrz?
# 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
Czy istnieją pewne ogólne zasady, co należy zrobić na zewnątrz i co należy zrobić w środku? Jaka jest różnica? Przetestowałem oba warianty i oba wyglądały równie dobrze.
wiem configure
może być używany do reagowania na środowisko tak:
configure :development do
....
end
Więc to jest przydatne dla różnych konfiguracji środowiska. Ten przypadek użycia jest jasny, ale co z ogólnymi konfiguracjami dla każdego środowiska? Gdzie je umieszczam? Czy to tylko kwestia stylu?
Właśnie znalazłem [źródło] (http://rubydoc.info/gems/sinatra/1.3.3/Sinatra/Base.configure) oraz tak naprawdę nie robi nic więcej, jak tylko argument, że blokuje się jako argument. To tylko kwestia stylu. – Markus