class IDL::OptionList::Option

Attributes

groups[R]
separator[R]
switch[R]
type[R]

Public Class Methods

new(switch, options) click to toggle source
# File lib/ridl/optparse_ext.rb, line 306
def initialize(switch, options)
  @switch = switch
  @type = options[:type] || TrueClass
  @separator = options[:separator] == true
  @description = Array === options[:description] ? options[:description] : (options[:description] ? options[:description].split('\n') : [''])
  @groups = {}
end

Public Instance Methods

description(indent = "") click to toggle source
# File lib/ridl/optparse_ext.rb, line 314
def description(indent = "")
  @groups.values.inject(@description.dup) { |desc, h| desc.concat(h.description.collect { |desc| "\r#{indent}  #{desc}" }) }
end
run(arg, options) click to toggle source
# File lib/ridl/optparse_ext.rb, line 318
def run(arg, options)
  unless @groups.values.inject(false) { |f, h| h.run(arg, options) || f }
    raise ArgumentError, "unknown option [#{arg}] for switch '#{@switch}'"
  end
end