Sinatra não sabe disso, mesmo quando a rota padrão é implementada com estilo modular
Estou executando os independentes do MacOS comjruby
e estou tentando escrever uma basemodular sinatra
aplicativo. Aqui está o que meuconfig.ru
parece
require 'app/app'
run Sinatra::Application
Eu invoco assim comrackup
, você pode ver o404
erros -
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
e é isso que meusource
parece -
➜ less app/app.rb
require 'sinatra/base'
class App < Sinatra::Base
get '/' do
"Hello World"
end
end
Se eu mudar a fonte para a maneira clássica
➜ cat app/app.rb
require 'sinatra'
#class App < Sinatra::Base
get '/' do
"Hello World"
end
#end
e invocá-lo assim, funciona muito bem -
➜ 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
Acho que estou perdendo alguma configuração muito óbvia, mas parece que consigo descobrir o que é isso, alguém pode me informar o que está faltando? Posso compartilhar mais detalhes sobre o ambiente, se necessário.