Sinatra no lo sabe, incluso cuando la ruta predeterminada se implementa con estilo modular
Estoy ejecutando MacOS Mavericks conjruby
y estoy tratando de escribir un básicomodular sinatra
aplicación Esto es lo que miconfig.ru
parece
require 'app/app'
run Sinatra::Application
Lo invoco así conrackup
, puedes ver el404
errores
rackup -s puma -p 8080
Puma 2.10.2 starting...
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://localhost:8080
127.0.0.1 - - [17/Jan/2015:18:32:37 -0500] "GET / HTTP/1.1" 404 437 0.0290
127.0.0.1 - - [17/Jan/2015:18:32:37 -0500] "GET / HTTP/1.1" 404 437 0.0980
127.0.0.1 - - [17/Jan/2015:18:32:37 -0500] "GET /__sinatra__/404.png HTTP/1.1" 304 - 0.0120
127.0.0.1 - - [17/Jan/2015:18:32:37 -0500] "GET /__sinatra__/404.png HTTP/1.1" 304 - 0.0170
y esto es lo que misource
parece -
➜ less app/app.rb
require 'sinatra/base'
class App < Sinatra::Base
get '/' do
"Hello World"
end
end
Si cambio la fuente a la manera clásica
➜ cat app/app.rb
require 'sinatra'
#class App < Sinatra::Base
get '/' do
"Hello World"
end
#end
y luego invocarlo así, funciona bien
➜ ruby app/app.rb
Puma 2.10.2 starting...
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://localhost:4567
== Sinatra/1.4.5 has taken the stage on 4567 for development with backup from Puma
127.0.0.1 - - [17/Jan/2015:18:36:20 -0500] "GET / HTTP/1.1" 200 11 0.0250
Creo que me estoy perdiendo alguna configuración muy obvia, pero parece que puedo entender qué es eso, ¿alguien puede decirme lo que me estoy perdiendo? Puedo compartir más detalles sobre el medio ambiente si es necesario.