Существует ли утилита конфигурирования среды на основе Rack или Sinatra? - PullRequest
4 голосов
/ 20 декабря 2010

Есть ли в мире Sinatra / Rack что-то похожее на схему загрузки конфигурации Rails, которая загружает один из файлов config\enviroments\*.rb в зависимости от Rails.env

Я знаю, что мог бы довольно легко его разработать, мне просто было интересно, есть ли что-то уже на месте.

Ответы [ 4 ]

5 голосов
/ 20 декабря 2010

Оказывается, что есть что-то из Синатры , которое обеспечивает аналогичную, хотя и ограниченную, функциональность.

См. Код: https://github.com/sinatra/sinatra/blob/master/lib/sinatra/base.rb#L1120

Вы можете сделать это:

class MyApp < Sinatra::Base
  configure :development, :test do
    #only executes this code when environment is equal to one of the passed arguments
    # I'm pretty sure Sinatra sets this based on ENV['RACK_ENV']
  end
end
5 голосов
/ 20 декабря 2010

Если вы следуете соглашению Rails о размещении файла для каждой среды в config / environment / environment_name.rb, вы можете поместить что-то подобное в ваше приложение Sinatra или для Rack в файле config.ru: *

Dir.glob(File.dirname(__FILE__) + "/config/environments/#{settings.environment}.rb", &method(:require))

С некоторыми незначительными изменениями вы можете загрузить другие местоположения / комбинации файлов. Конфигурационные блоки Синатры тоже работают так же.

3 голосов
/ 24 января 2012

Есть один, называемый Sinatra :: ConfigFile, который сейчас живет в Sinatra :: Contrib http://www.sinatrarb.com/contrib/config_file.html

Там много полезного.

1 голос
/ 17 июля 2011

Я адаптировал мой с monkrb.com (это также yaml в RoR в любом случае)

YAML.load_file(path_of "config/settings.yml")[RACK_ENV]

например, http://github.com/codepants/yasumi/blob/master/config/settings.yml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...