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



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

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

Class Method Details

.summarizeObject



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

def self.summarize(*) end

Instance Method Details

#defaultObject



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

def default = @default.call(switch_name)

#default_descriptionObject



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

def default_description = @default_description || default.inspect

#descObject



61
62
63
64
65
66
67
# File 'lib/optparse2.rb', line 61

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



49
50
51
52
53
54
55
56
57
# File 'lib/optparse2.rb', line 49

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

  @default_description = description
end

#set_hiddenObject



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

def set_hidden
  def self.summarize(*) end
end

#set_switch_name_possibly_block_value(val) ⇒ Object



38
39
40
41
42
43
44
45
# File 'lib/optparse2.rb', line 38

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