Class: Mvn2::OptionTypes

Inherits:
Object
  • Object
show all
Extended by:
PluginType, TypeHelper
Defined in:
lib/mvn2/plugin.rb

Class Method Summary collapse

Class Method Details

.def_optionsObject



22
23
24
25
# File 'lib/mvn2/plugin.rb', line 22

def self.def_options
  register_type(:option) { |list, options| register_option(list, options) { |id, names, option| options.option id, names, option[:options] } }
  register_type(:option_with_param) { |list, options| register_option(list, options) { |id, names, option| options.option_with_param id, names, option[:options] } }
end

.register_option(list, options) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/mvn2/plugin.rb', line 12

def self.register_option(list, options)
  list.sort_by { |v| v[:options][:sym].to_s }.each { |option|
    id      = option[:options].delete(:sym)
    names   = option[:options].delete(:names)
    default = option[:options].delete(:default) || nil
    yield(id, names, option)
    options.default_options id => default unless default.nil?
  }
end