Provides exit_now! and help_now!. You might mix this into your business logic classes if they will need to exit the program with a human-readable error message.

Methods
E
H
I
Class Public methods
included(k)
# File lib/optparse_plus/exit_now.rb, line 5
def self.included(k)
  k.extend(self)
end
Instance Public methods
exit_now!(exit_code,message=nil)

Call this to exit the program immediately with the given error code and message.

exit_code

exit status you'd like to exit with

message

message to display to the user explaining the problem

If exit_code is a String and message is omitted, exit_code will be used as the message and the actual exit code will be 1.

Examples

exit_now!(4,"Oh noes!") 
  # => exit app with status 4 and show the user "Oh noes!" on stderr
exit_now!("Oh noes!")   
  # => exit app with status 1 and show the user "Oh noes!" on stderr
exit_now!(4)            
  # => exit app with status 4 and dont' give the user a message (how rude of you)
# File lib/optparse_plus/exit_now.rb, line 25
def exit_now!(exit_code,message=nil)
  if exit_code.kind_of?(String) && message.nil?
    raise OptparsePlus::Error.new(1,exit_code)
  else
    raise OptparsePlus::Error.new(exit_code,message)
  end
end
help_now!(message)

Exit the program as if the user made an error invoking your app, providing them the message as well as printing the help. This is useful if you have complex UI validation that can't be done by OptionParser.

# File lib/optparse_plus/exit_now.rb, line 36
def help_now!(message)
  raise OptionParser::ParseError.new(message)
end