class Disloku::Config::Options
Public Class Methods
new(config, cliOptions)
click to toggle source
# File lib/disloku/config/Options.rb, line 12 def initialize(config, cliOptions) @options = { :ignoreDeleteErrors => false, :createDeletesFile => false, :allowOverride => false, :target => "default", :packageDir => :temp, :inputDefault => :none, :assumeYes => false, :assumeVeryYes => false, :openPackageDir => true, :openDirCmd => :openDir, } @options.each_key() do |key| if (cliOptions.has_key?(key.to_s())) @options[key] = cliOptions[key.to_s()] elsif (config[key.to_s()] != nil) @options[key] = config[key.to_s()].value() end end processPackageDir() processInputDefaults() end
Public Instance Methods
getCommand(cmdKey, *args)
click to toggle source
# File lib/disloku/config/Options.rb, line 69 def getCommand(cmdKey, *args) cmd = @options[cmdKey] return cmd.kind_of?(Symbol) ? OsCommands.get(cmd, *args) : SysCmd.new(cmd, *args) end
method_missing(name, *args, &block)
click to toggle source
# File lib/disloku/config/Options.rb, line 61 def method_missing(name, *args, &block) if (!@options.has_key?(name)) raise ArgumentError.new("There's no option '#{name}' here") end return @options[name] end
processInputDefaults()
click to toggle source
# File lib/disloku/config/Options.rb, line 53 def processInputDefaults() if (@options[:assumeVeryYes] == true) @options[:inputDefault] = :veryYes elsif (@options[:assumeYes] == true) @options[:inputDefault] = :yes end end
processPackageDir()
click to toggle source
# File lib/disloku/config/Options.rb, line 38 def processPackageDir() if (@options[:packageDir] == :temp) @options[:packageDir] = Dir.mktmpdir("disloku") Log.instance.debug("Creating tmp directory #{@options[:packageDir]}") # make sure the temp directory is deleted when the program exists at_exit { Log.instance.debug("Removing tmp directory #{@options[:packageDir]}") FileUtils.rm_r(@options[:packageDir], :force => true) } else @options[:packageDir] = File.expand_path(@options[:packageDir]) end end