Я использую файл YAML для хранения конфиденциальных данных конфигурации. Я просто использую этот файл в среде разработки. В производстве я использую переменные ENV.Спасение, если файл YAML не существует или не может быть загружен в Rails
Вот что я делаю прямо сейчас:
У меня есть конфигурационный/confidental.yml файл, который выглядит следующим образом:
email:
user_name: 'my_user'
password: 'my_passw'
У меня есть конфиг/сред/файл development.rb что (среди других вещей) есть такие строки:
# Mailer config
email_confidential = YAML.load_file("#{Rails.root}/config/confidential.yml")['email']
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => 'baci.lindsaar.net',
:user_name => email_confidential['user_name'],
:password => email_confidential['password'],
:authentication => 'plain',
:enable_starttls_auto => true }
Мой вопрос: Как я могу убедиться, что файл YAML существует и может быть загружен, и если не проливает исключение? Где это должно быть поставлено?
Спасибо. Я считаю, config/environment/тоже инициализаторы, верно? –
rubocop теперь предлагает File.exist? (а не множественное число) вместо File.exists? –