Ben
development:
twitter_api_key: stringstringstring
chunky: bacon
production:
twitter_api_key: gnirtsgnirtsgnirts
foo: bar
sonra
verileri işlemek için set Sinatra'nın yerleşik kullanmak şöyle API anahtarları ve bir yapılandırma YAML içinde bu tür bir şey sopa.
configure do
yaml = YAML.load_file(settings.config + "/config.yaml")[settings.environment.to_s]
yaml.each_pair do |key, value|
set(key.to_sym, value)
end
end
Ve sonra ayarlarından nesne onlara erişebilirsiniz. Yine de, yapılandırma dosyasını neden yapamayacağından emin değilim. . . Burada büyük bir güvenlik riski yoktur, çünkü sadece açıkça tanımladığınız yollara web üzerinden erişilebilir. Bir veritabanına koymak istemiyorsanız, yönetici parolası aynı şekilde depolanabilir sanırım, ama en azından bir salt ile şifreleyeceğim.
Sadece kendi kimliğinizi tanımlarken Sinatra'nın Configuration settings ürününe basmamaya dikkat edin.
DÜZENLEME:
Sana yapılandırma dosyasını işlemek için tercih ediyorum neden fark ettim düşünüyorum. Açık kaynaklı bir projede çalışıyorsanız, config dosyasını açık kaynak repo'unuza vermek istemezsiniz, ancak çalışabilmesi için dosyayı Heroku'ya yüklemeniz gerekir. Bu durumda, ya da:
- İki ayrı yerel depoyu kullanın: açık kaynak projesi için bir tane, diğeri de heroku projesi için. Sadece açık kaynak projesini Heroku projesinde bir üst akış deposu olarak ayarlayın, ardından değişiklikleri getirebilirsiniz.
- Her iki API anahtarını ve şifreli/tuzlanmış parolayı bir veritabanına koyun; MongoHQ, MongoDB kullanarak basit nosql depolaması için bir addon olarak Heroku kullanıcılarına ücretsiz bir katman sunar.