Module: OptParse2::Helpers

Defined in:
lib/optparse2.rb

Overview

Helpers is a mixin that contains methods to modify how the original ‘Switch` works

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#switch_nameObject



32
# File 'lib/optparse2.rb', line 32

def switch_name; defined?(@switch_name) ? @switch_name : super end

Class Method Details

.summarizeObject



28
# File 'lib/optparse2.rb', line 28

def self.summarize(*) end

Instance Method Details

#defaultObject



55
# File 'lib/optparse2.rb', line 55

def default = @default.call(switch_name)

#default_descriptionObject



56
# File 'lib/optparse2.rb', line 56

def default_description = @default_description || default.inspect

#descObject



57
58
59
60
61
62
63
# File 'lib/optparse2.rb', line 57

def desc
  return super unless defined? @default
  x = super
  x << '' if x.empty?
  x[-1] += " [default: #{default_description}]"
  x
end

#set_default(value, description) ⇒ Object

requires ‘switch_name`, `desc` to work



45
46
47
48
49
50
51
52
53
# File 'lib/optparse2.rb', line 45

def set_default(value, description)
  if defined? value.call
    @default = value
  else
    @default = proc { value }
  end

  @default_description = description
end

#set_hiddenObject



27
28
29
# File 'lib/optparse2.rb', line 27

def set_hidden
  def self.summarize(*) end
end

#set_switch_name_possibly_block_value(val) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/optparse2.rb', line 34

def set_switch_name_possibly_block_value(val)
  if @block.nil? && @arg.nil?
    q = switch_name.to_sym
    @block = proc { q }
  end

  self.switch_name = val
end