Class: Commander::HelpFormatter::ProgramContext

Inherits:
Context show all
Defined in:
lib/commander/help_formatters.rb

Instance Method Summary collapse

Methods inherited from Context

#get_binding, #initialize

Constructor Details

This class inherits a constructor from Commander::HelpFormatter::Context

Instance Method Details

#decorate_binding(bind) ⇒ Object



26
27
28
29
# File 'lib/commander/help_formatters.rb', line 26

def decorate_binding(bind)
  bind.eval("max_command_length = #{max_command_length(bind)}")
  bind.eval("max_aliases_length = #{max_aliases_length(bind)}")
end

#max_aliases_length(bind) ⇒ Object



35
36
37
# File 'lib/commander/help_formatters.rb', line 35

def max_aliases_length(bind)
  max_key_length(bind.eval('@aliases'))
end

#max_command_length(bind) ⇒ Object



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

def max_command_length(bind)
  max_key_length(bind.eval('@commands'))
end

#max_key_length(hash, default = 20) ⇒ Object



39
40
41
42
# File 'lib/commander/help_formatters.rb', line 39

def max_key_length(hash, default = 20)
  longest = hash.keys.max_by(&:size)
  longest ? longest.size : default
end