class EverydayCliUtils::SpecialOptionDef
Attributes
names[R]
order[R]
settings[R]
state[RW]
Public Class Methods
new(order, exit_on_action, names, print_on_exit_str, settings, action_block, pre_parse_block = nil)
click to toggle source
# File lib/everyday-cli-utils/option.rb, line 183 def initialize(order, exit_on_action, names, print_on_exit_str, settings, action_block, pre_parse_block = nil) @order = order @exit_on_action = exit_on_action @names = names @print_on_exit_str = print_on_exit_str @settings = settings @action_block = action_block @pre_parse_block = pre_parse_block @state = false end
register(order, opts, options, opt_name, names, exit_on_action, print_on_exit_str, settings, default_settings, action_block, pre_parse_block = nil)
click to toggle source
# File lib/everyday-cli-utils/option.rb, line 209 def register(order, opts, options, opt_name, names, exit_on_action, print_on_exit_str, settings, default_settings, action_block, pre_parse_block = nil) settings = EverydayCliUtils::MapUtil.extend_hash(default_settings, settings) opt = SpecialOptionDef.new(order, exit_on_action, names, print_on_exit_str, settings, action_block, pre_parse_block) options.special_options[opt_name] = opt names << settings[:desc] if settings.has_key?(:desc) opts.on(*names) { opt.state = true } end
Public Instance Methods
run(options_list)
click to toggle source
# File lib/everyday-cli-utils/option.rb, line 194 def run(options_list) if @state @action_block.call(self, options_list) if @exit_on_action puts @print_on_exit_str unless @print_on_exit_str.nil? exit 0 end end end
run_pre_parse(options_list)
click to toggle source
# File lib/everyday-cli-utils/option.rb, line 204 def run_pre_parse(options_list) @pre_parse_block.call(self, options_list) unless @pre_parse_block.nil? end