Class: EverydayCliUtils::Option

Inherits:
Object
  • Object
show all
Defined in:
lib/everyday-cli-utils/option.rb

Class Method Summary collapse

Class Method Details

.add_option(options, opts, names, opt_name, settings = {}) ⇒ Object



8
9
10
11
12
13
# File 'lib/everyday-cli-utils/option.rb', line 8

def add_option(options, opts, names, opt_name, settings = {})
  opts.on(*names) {
    options[opt_name] = !settings[:toggle] || !options[opt_name]
    yield if block_given?
  }
end

.add_option_with_param(options, opts, names, opt_name, settings = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/everyday-cli-utils/option.rb', line 15

def add_option_with_param(options, opts, names, opt_name, settings = {})
  opts.on(*names, settings[:type] || String) { |param|
    if settings[:append]
      options[opt_name] << param
    else
      options[opt_name] = param
    end
    yield if block_given?
  }
end