Class: NumRu::Misc::KeywordOptAutoHelp
- Inherits:
-
KeywordOpt
- Object
- KeywordOpt
- NumRu::Misc::KeywordOptAutoHelp
- Defined in:
- lib/numru/misc/keywordopt.rb
Overview
class NumRu::Misc::KeywordOptAutoHelp < NumRu::Misc::KeywordOpt
Same as class NumRu::Misc::KeywordOpt, but the method #interpret shows a help message and raise an exception if option ‘help’ is provided as an argument and is not nil or false (NumRu::Misc::HelpMessagingException < StandardError or if the arguments cannot be interpreted correctly (ArgumentError). Option ‘help’ is automatically defined, so you do not have to define it yourself.
Instance Method Summary collapse
-
#initialize(*args) ⇒ KeywordOptAutoHelp
constructor
A new instance of KeywordOptAutoHelp.
- #interpret(hash) ⇒ Object
- #set(hash) ⇒ Object
Methods inherited from KeywordOpt
#[], #help, #keys, #select_existent
Constructor Details
#initialize(*args) ⇒ KeywordOptAutoHelp
Returns a new instance of KeywordOptAutoHelp.
334 335 336 337 |
# File 'lib/numru/misc/keywordopt.rb', line 334 def initialize(*args) args.push(['help', false, 'show help message if true']) super(*args) end |
Instance Method Details
#interpret(hash) ⇒ Object
339 340 341 342 343 344 345 346 347 348 349 350 351 |
# File 'lib/numru/misc/keywordopt.rb', line 339 def interpret(hash) begin out = super(hash) rescue raise $!.inspect + "\n Available parameters are:\n" + help end if out['help'] puts "<< Description of options >>\n" + help puts ' Current values=' + out.inspect raise Misc::HelpMessagingException, '** help messaging done **' end out end |
#set(hash) ⇒ Object
353 354 355 356 357 358 359 360 |
# File 'lib/numru/misc/keywordopt.rb', line 353 def set(hash) raise ArgumentError, "not a hash" if !hash.is_a?(Hash) if hash['help'] puts "<< Description of options >>\n" + help raise Misc::HelpMessagingException, '** help messaging done **' end super end |