У меня было классическое приложение Sinatra, которое было доступно на двух портах. После перехода на модульный стиль второй порт больше не работает.
Моя первоначальная реализация была:
require 'sinatra'
set :port, 8080
set :bind, '0.0.0.0'
----some routes-----
...
В результате была реализована:
require 'sinatra/base'
require_rel 'lib'
class MyApp < Sinatra::Base
register Sinatra::SomeRegister
helpers Sinatra::SomeHelper
set :port, 8080
set :bind, '0.0.0.0'
----some routes-----
...
run!
end
Приложение запускается с помощью:
socat tcp-l:8181,fork,reuseaddr tcp:localhost:8080 &
ruby /path/my_app.rb
Приложение больше не отвечает на порт 8181.