Доступ к пользовательскому классу в database.yml - PullRequest
0 голосов
/ 18 мая 2018

В моем приложении rails есть следующий класс:

class Global
  class << self

    def method_missing(message)
      ENV[message.to_s]
    end

    def SOME_ENV_VAR
      ENV['SOME_ENV_VAR'].present? ? ENV['SOME_ENV_VAR'].to_i * 5 : nil
    end
end

Затем я получаю доступ ко всем своим переменным окружения через этот класс, что позволяет мне обернуть любую логику вокруг переменной окружения в одном месте.Есть ли способ, которым я могу получить доступ к своему классу Global в файле database.yml, например, так?

development:
  <<: *default
  url: <%= Global.DATABASE_URL || "the_database" %> 

1 Ответ

0 голосов
/ 18 мая 2018

Самым простым решением, которое я нашел для этой проблемы, было требование наличия класса /app/global/global.rb из файла /config/application.rb.

require_relative '../app/global/global'

module MyApp
  class Application < Rails::Application
    # all of the general setup
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...