Module: Cartage::CLIOptionsSupport
- Included in:
- GLI::App, GLI::Command
- Defined in:
- lib/cartage/gli_ext.rb
Overview
:nodoc:
Instance Method Summary collapse
-
#clear_defaults_from(opts, flag_set: flags, symbol_defaults_only: true) ⇒ Object
Clears defaults from a flag-set.
Instance Method Details
#clear_defaults_from(opts, flag_set: flags, symbol_defaults_only: true) ⇒ Object
Clears defaults from a flag-set. By default, only clears symbolic defaults (e.g., :'default-value'.)
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/cartage/gli_ext.rb', line 9 def clear_defaults_from(opts, flag_set: flags, symbol_defaults_only: true) flag_set.each do |name, flag| next unless flag.default_value next if symbol_defaults_only && !flag.default_value.kind_of?(Symbol) next unless opts[name] == flag.default_value aliases = [ name, *flag.aliases ].compact aliases += aliases.map(&:to_s) aliases.each { |aka| opts[aka] = nil } end end |