Class: Mvr::OptionTypes

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

Class Method Summary collapse

Class Method Details

.def_optionsObject



18
19
20
21
# File 'lib/mvr/plugin.rb', line 18

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



8
9
10
11
12
13
14
15
16
# File 'lib/mvr/plugin.rb', line 8

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