10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/getaround_utils/utils/config_url.rb', line 10
def self.from_env(config_name, ...)
env_url = ENV.fetch("#{config_name}_URL", ...)
env_usr = ENV.fetch("#{config_name}_USERNAME", nil)
env_pwd = ENV.fetch("#{config_name}_PASSWORD", nil)
return if env_url.nil? || env_url.empty?
::URI.parse(env_url).tap do |uri|
uri_usr, uri_pwd = uri.userinfo&.split(':', 2)
uri_pwd = uri_pwd.to_s if uri.userinfo&.include?(':')
usr = env_usr.nil? ? uri_usr : env_usr
pwd = env_pwd.nil? ? uri_pwd : env_pwd
userinfo = usr.to_s
userinfo += ":#{pwd}" unless pwd.nil?
uri.userinfo = userinfo unless userinfo.empty?
end
end
|