Rack specifiesPerché Rails generare un config.ru che gestisce una classe, non un oggetto?
Un'applicazione Rack è un oggetto rubino (non una classe) che risponde a chiamare.
Di conseguenza, un semplice config.ru
assomiglia a questo:
class MyApp
def call(env)
[200, {"Content-Type" => "text/plain"}, ["Hello from Rack!\n"]]
end
end
run MyApp.new
mentre Rails genera questo:
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
run RailsApp::Application
Quindi, mi chiedo: Perché non run RailsApp::Application.new
quando Rack specifica che sia un oggetto, non una classe? C'è qualcosa di speciale nello Rails::Application
che mi manca?