Method: Jenkins::Api.setup_base_url

Defined in:
lib/jenkins/api.rb

.setup_base_url(options) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/jenkins/api.rb', line 19

def self.setup_base_url(options)
  options = options.with_clean_keys
  # Thor's HashWithIndifferentAccess is based on string keys which URI::HTTP.build ignores
  options = options.inject({}) { |mem, (key, val)| mem[key.to_sym] = val; mem }
  options[:host] ||= ENV['JENKINS_HOST']
  options[:port] ||= ENV['JENKINS_PORT']
  options[:port] &&= options[:port].to_i
  return false unless options[:host] || Jenkins::Config.config["base_uri"]
  uri = options[:host] ? URI::HTTP.build(options) : Jenkins::Config.config["base_uri"]
  base_uri uri.to_s
  uri
end