Как настроить приложение стойки sinatra для использования Figaro - PullRequest
0 голосов
/ 26 октября 2018

Я видел этот пост и думаю, что чего-то не хватает или изменение версии. У меня очень простое стоечное приложение, использующее figaro - размещенное на Heroku. В настоящее время я на локальной машине.

Теперь мне нужно использовать ENV.

Структура моего приложения:

APP
 |_ config/
 |_ public/
 |_ views/
 |_ config.ru
 |_ app.rb
 |_ other-files

Внутри config / application.yml

SOME_KEY: some-value

Внутри config.ru

require './app.rb'
run MyApp.run!

Эта часть дает ошибку. Внутри app.rb:

require  File.dirname(__FILE__) + '/config/application.yml'

[...]

Это та же строка, что и в ссылке выше. Я получаю

не может загрузить такой файл /config/application.yml

В app.rb мне нужно уметь ENV['SOME_KEY']

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Я делал это раньше в автономном приложении следующим образом:

Figaro.application = Figaro::Application.new(
  environment: 'production',
  path: File.expand_path("config/application.yml")
)
Figaro.load
0 голосов
/ 26 октября 2018

Вы не можете просто require файл yaml, так как он не является рубином. Yaml - это файловая структура, которая не является специфичной для ruby. Figaro также был написан для использования с Ruby on Rails, а не с Sinatra. Возможно, вы сможете найти способ заставить его работать, но это не так просто, как просто загрузить файл конфигурации yaml.

В этом посте вы найдете некоторые идеи о том, как вы можете достичь того, что вы пытаетесь сделать. Вот раздвоенная версия драгоценного камня, которая может работать на вас.

https://github.com/laserlemon/figaro/pull/229

...