Module: OptParse2::Helpers

Defined in:
lib/optparse2.rb

Overview

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.summarizeObject



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

def self.summarize(*) end

Instance Method Details

#defaultObject



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

def default = @default.call(switch_name)

#default_descriptionObject



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

def default_description = @default_description || default.inspect

#descObject



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

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

#set_block_name_because_of_switch_nameObject



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

def set_block_name_because_of_switch_name
  if @block.nil? && @arg.nil?
    q = @switch_name.to_sym
    @block = proc { q }
  end
end

#set_default(value, description) ⇒ Object

requires switch_name, desc to work



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

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

  @default_description = description
end

#set_hiddenObject



19
20
21
# File 'lib/optparse2.rb', line 19

def set_hidden
  def self.summarize(*) end
end

#switch_nameObject

attr_writer :switch_name



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

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

#switch_name=(val) ⇒ Object



23
24
25
26
# File 'lib/optparse2.rb', line 23

def switch_name=(val)
  # binding.irb
  @switch_name = val
end