module LabClient::ClientSetup
Methods for Initialization
Public Instance Methods
fill_configuration()
click to toggle source
Load default profile
# File lib/labclient/client/setup.rb, line 6 def fill_configuration if File.exist? home_file Oj.load_file(home_file, { symbol_keys: true }) else { url: ENV['LABCLIENT_URL'], token: ENV['LABCLIENT_TOKEN'] } end end
prompt_for_token()
click to toggle source
Check for Token
# File lib/labclient/client/setup.rb, line 25 def prompt_for_token print 'Enter Personal Access Token: ' @settings[:token] = $stdin.gets.chomp end
prompt_for_url()
click to toggle source
If nothing entered Prompt for Input
# File lib/labclient/client/setup.rb, line 18 def prompt_for_url print 'Enter GitLab URL (e.g. https://gitlab.com): ' @settings[:url] = $stdin.gets&.chomp raise 'LabClient Error - Missing URL!' if @settings[:url].blank? end
setup_profile()
click to toggle source
Support for Named Profiles
# File lib/labclient/client/setup.rb, line 42 def setup_profile return false unless File.exist? home_file config = Oj.load_file(home_file, { symbol_keys: true }) return false unless config.key? profile self.settings ||= {} settings.merge! config[profile] end
unspecified_defaults()
click to toggle source
Fill Defaults
# File lib/labclient/client/setup.rb, line 31 def unspecified_defaults @settings[:paginate] = true if @settings[:paginate].nil? @settings[:ssl_verify] = true if @settings[:ssl_verify].nil? @settings[:quiet] = false if @settings[:quiet].nil? @settings[:debug] = false if @settings[:quiet].nil? @settings[:debug] = false if @settings[:debug].nil? @settings[:token_type] = 'Private-Token' if @settings[:token_type].nil? @settings[:retry] = { max: 5, delay_factor: 10, count: 0 } if @settings[:retry].nil? end