Files
osem/lib/tasks/migrate_config.rake
Henne Vogelsang 7dbe2d19fe Move factory linting to CI cycle
No need to do this before each and every spec or example. Speeds
up suite and make things less fragile.
2021-08-18 14:38:55 +02:00

43 lines
1.7 KiB
Ruby

# frozen_string_literal: true
namespace :data do
namespace :migrate do
desc 'Create a dotenv file from config/config.yml'
task config2dotenv: :environment do
# Create the dotenv file
dot_env = Rails.root.join(".env.#{Rails.env}")
if File.exist?(dot_env)
abort("Sorry can't migrate, #{dot_env} already exists")
else
dot_env = File.open(dot_env, 'w')
end
# Load the configuration file
config_yml = Rails.root.join('config', 'config.yml')
begin
CONFIG = YAML.load_file(config_yml)[Rails.env]
rescue
CONFIG = {}
end
# Write the dotenv file
dot_env.puts '# OSEM environment variables. Check INSTALL.md for more information'
dot_env.puts "OSEM_NAME=\"#{CONFIG['name']}\""
dot_env.puts "OSEM_HOSTNAME=\"#{CONFIG['url_for_emails']}\""
dot_env.puts "OSEM_EMAIL_ADDRESS=\"#{CONFIG['sender_for_emails']}\""
dot_env.puts "OSEM_ICHAIN_ENABLED=\"#{CONFIG['authentication']['ichain']['enabled']}\"" if CONFIG.has_key?(:authentication)
dot_env.puts "OSEM_TRANSIFEX_APIKEY=\"#{CONFIG['transifex_live_api_key']}\""
dot_env.puts "OSEM_ERRBIT_HOST=\"#{CONFIG['errbit_host']}\""
dot_env.puts "OSEM_SMTP_ADDRESS=\"#{CONFIG['mail_address']}\""
dot_env.puts "OSEM_SMTP_PORT=\"#{CONFIG['mail_port']}\""
dot_env.puts "OSEM_SMTP_USERNAME=\"#{CONFIG['mail_username']}\""
dot_env.puts "OSEM_SMTP_PASSWORD=\"#{CONFIG['mail_password']}\""
dot_env.puts "OSEM_SMTP_AUTHENTICATION=\"#{CONFIG['mail_authentication']}\""
dot_env.puts '# OSEM_SMTP_DOMAIN="example.com"'
dot_env.close
puts "Migrated config/config.yml to .env.#{Rails.env}"
end
end
end