當使用Sinatra::ConfigFile生成設置時,是否可以擴展動態屬性?Sinatra中的動態屬性:: ConfigFile
說我有這個logging.yaml:
elasticsearch_url:
development: "http://kibana.#{myVar}.mydomain/elasticsearch/"
production: "http://kibana.mydomain/elasticsearch/"
kibana_url:
development: "http://kibana.#{myVar}.mydomain/kibana/#"
production: "http://kibana.mydomain/kibana/#"
這裏有一個虛擬config.ru:
require 'sinatra/config_file'
configure do
set :default_dashboard, 'mydashboard'
set :myVar, 'st'
config_file 'instances.yaml', 'logging.yaml'
end
現在,當我在 「發展」 的模式下運行,我想所有的設置與#{myVar}
擴大,例如settings.kibana_url
將變爲http://kibana.st.mydomain/kibana/#
。
達到此目的的最佳方法是什麼?如果可能的話,我可以通過settings
變量中的值解決for循環。
(聲明:我是新來的Ruby,所以完整的例子將有很大的幫助。)
不是問題的答案,但如果我想要這樣做,我不會使用擴展名。我有一個config.rb程序,把設置,並將其加載到我的config.ru與一個'require' ... –