Require загружает код ruby из необходимого файла только один раз.
Вот как вы можете сказать:
#index.rb
require 'sinatra'
require 'json'
require_relative 'other_code'
get '/' do
content_type :json
puts $variable
end
# other_code.rb
$variable
def start
$variable = 'hello world'
end
puts 'other code called'
start
Теперь запустите ваш сервер sinatra
ruby index.rb
Вы увидите это в консоли:
other code called
== Sinatra (v2.0.5) has taken the stage on 4567 for development with backup from Puma
Puma starting in single mode...
Затем нажмите браузер несколько раз и посмотрите на консоль, вы увидите other code called
вывод только 1 раз. Однако каждый раз, когда вы нажимаете на свой маршрут получения, вы должны видеть вывод hello world!