Files
old-holivud2/app/models/app_host.rb
2020-08-04 08:16:16 +02:00

60 lines
1002 B
Ruby

class AppHost
attr_reader :env_vars, :current_env
def initialize(env_vars = ENV, current_env = Rails.env)
@env_vars = env_vars
@current_env = current_env
end
def domain
env_vars.fetch("DOMAIN") { default_domain }
end
def port
env_vars.fetch("WEB_PORT") { default_port }
end
def domain_with_port
[domain, port].compact.join(":")
end
def protocol
using_ssl? ? :https : :http
end
def using_ssl?
env_vars.fetch("USE_SSL") { default_use_ssl }
end
private
DEFAULTS = {
development: {
host: "localhost",
port: 3000,
use_ssl: false,
},
test: {
host: "localhost",
port: 31337,
use_ssl: false,
},
production: {
host: "mesuite.ai",
use_ssl: true,
}
}
def default_domain
DEFAULTS.dig(current_env.to_sym, :host)
end
def default_port
DEFAULTS.dig(current_env.to_sym, :port)
end
def default_use_ssl
DEFAULTS.dig(current_env.to_sym, :use_ssl)
end
end