Class: UpdateRepo::CmdConfig
- Inherits:
-
Object
- Object
- UpdateRepo::CmdConfig
- Includes:
- Helpers
- Defined in:
- lib/update_repo/cmd_config.rb
Overview
This class takes care of reading and parsing the command line and conf file
Instance Method Summary collapse
-
#check_params ⇒ void
rubocop:disable Metrics/LineLength make sure the parameter combinations are valid, terminating otherwise.
-
#getconfig ⇒ Class
return the configuration hash variable.
-
#initialize ⇒ CmdConfig
constructor
A new instance of CmdConfig.
-
#true_cmd(command) ⇒ various
This will return the ‘true’ version of a command, taking into account both command line (given preference) and the configuration file.
Methods included from Helpers
Constructor Details
#initialize ⇒ CmdConfig
Returns a new instance of CmdConfig.
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/update_repo/cmd_config.rb', line 15 def initialize # read the options from Trollop and store in temp variable. # we do it this way around otherwise if configuration file is missing it # gives the error messages even on '--help' and '--version' temp_opt = @conf = Confoog::Settings.new(filename: CONFIG_FILE, prefix: 'update_repo', autoload: true, autosave: false) @conf['cmd'] = temp_opt check_params config_error unless @conf.status[:errors] == Status::INFO_FILE_LOADED end |
Instance Method Details
#check_params ⇒ void
This method returns an undefined value.
rubocop:disable Metrics/LineLength make sure the parameter combinations are valid, terminating otherwise.
61 62 63 64 65 |
# File 'lib/update_repo/cmd_config.rb', line 61 def check_params return unless true_cmd(:dump) Trollop.die 'You cannot use --dump AND --import'.red if true_cmd(:import) Trollop.die 'You cannot use --dump AND --dump-remote'.red if true_cmd(:dump_remote) end |
#getconfig ⇒ Class
return the configuration hash variable
33 34 35 |
# File 'lib/update_repo/cmd_config.rb', line 33 def getconfig @conf end |
#true_cmd(command) ⇒ various
This will return the ‘true’ version of a command, taking into account both command line (given preference) and the configuration file.
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/update_repo/cmd_config.rb', line 41 def true_cmd(command) cmd_given = @conf['cmd'][(command.to_s + '_given').to_sym] cmd_line = @conf['cmd'][command.to_sym] if cmd_given # if we specify something on the cmd line, that takes precedence cmd_line elsif !@conf[command.to_s].nil? # if we have a value in the config file we use that. @conf[command.to_s] else # this will catch any 'default' values in the cmd setup. cmd_line end end |