Ruby 是否有基于机架或Sinatra的环境配置实用程序?
Sinatra/Rack世界中是否有类似于Rails配置加载方案的东西,根据Ruby 是否有基于机架或Sinatra的环境配置实用程序?,ruby,deployment,development-environment,sinatra,rack,Ruby,Deployment,Development Environment,Sinatra,Rack,Sinatra/Rack世界中是否有类似于Rails配置加载方案的东西,根据Rails.env加载一个config\environments\*.rb文件 我知道我可以很容易地开发一个,我只是想知道是否已经有了一些东西。如果你遵循Rails的惯例,在config/environments/environment_name.rb中为每个环境放置一个文件,你可以在你的Sinatra应用程序中,或者在你的config.ru文件中为Rack放置这样的东西: Dir.glob(File.dirname(_
Rails.env
加载一个config\environments\*.rb
文件
我知道我可以很容易地开发一个,我只是想知道是否已经有了一些东西。如果你遵循Rails的惯例,在config/environments/environment_name.rb中为每个环境放置一个文件,你可以在你的Sinatra应用程序中,或者在你的config.ru文件中为Rack放置这样的东西:
Dir.glob(File.dirname(__FILE__) + "/config/environments/#{settings.environment}.rb", &method(:require))
通过一些小的修改,您可以使其加载其他文件位置/组合。Sinatra的配置块也同样有效。事实证明,Sinatra提供了类似但有限的功能 参见代码: 因此,您可以执行以下操作:
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
classmyapp
我从monkrb.com改编了我的(无论如何,它也是RoR中的yaml)
e、 g。
有一个名为Sinatra::ConfigFile的文件,它现在位于Sinatra::Contrib中
那里有很多有用的东西。谢谢,我最后做的就是这些。。除非我只是让它在环境文件不存在时失败:
require“config/#{settings.environment}”
YAML.load_file(path_of "config/settings.yml")[RACK_ENV]