Я успешно написал небольшое приложение Sinatra и уже успешно развернул его на heroku.
Однако я хочу запустить это приложение в режиме разработки на моем локальном компьютере, и я хочу, чтобы он был в рабочем режиме на heroku, как только я отправлю его в удаленный репозиторий.
В настоящее время я могу использовать любой из этих вариантов. Когда я меняю свой config.ru на следующие значения:
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader'
require "./calc.rb"
enable :logging
set :environment, :development
set :port, 4567
я могу запускать его локально (на порту 4567) через ruby config.ru
. Когда я меняю config.ru на этот:
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader'
require "./calc.rb"
enable :logging
set :environment, :production
set :port, 4567
run Sinatra::Application
Я могу запустить его на Heroku (на порту 80).
Но я не могу использовать одну и ту же конфигурацию как для разработки, так и для производства.
Я бы хотел иметь что-то вроде:
ruby config. ru dev
для разработки и ruby config.ru
для производства.
Дополнительная информация:
Когда я пытаюсь запустить производственный config.ru на моем локальном компьютере, я получаю:
$ ruby config.ru
(eval):2:in `method_missing': undefined method `run' for main:Object (NoMethodError)
from (eval):4:in `__send__'
from (eval):4:in `method_missing'
from config.ru:10