Sto utilizzando un file YAML per memorizzare alcuni dati confidenziali di configurazione. Sto solo usando quel file nell'ambiente di sviluppo. In produzione sto usando le variabili ENV.Rescue se il file YAML non esiste o non può essere caricato in Rails
Ecco quello che sto facendo in questo momento:
Ho un file di configurazione/confidental.yml, che assomiglia a questo:
email:
user_name: 'my_user'
password: 'my_passw'
Ho un/ambienti di file di configurazione/development.rb che (tra le altre cose) hanno queste linee:
# 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 }
la mia domanda è: come avrei potuto fare in modo che il file YAML esiste e può essere caricato, e se non gettare qualche eccezione? Dove dovrebbe essere messo?
Grazie. Credo che anche config/ambienti/siano inizializzatori, giusto? –
rubocop ora suggerisce File.exist? (non plurale) invece di File.exists? –