Skip to content

No-code option parser that extracts arguments directly from usage text.

Notifications You must be signed in to change notification settings

akuhn/options_by_example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Options by Example

No-code options parser that automatically detects command-line options from the usage text of your application. This intuitive parser identifies optional and required argument names as well as option names without requiring any additional code, making it easy to manage user input for your command-line applications.

Features

  • Automatically detects optional and required argument names from usage text
  • Automatically detects option names and associated arguments (if any) from usage text
  • Parses those arguments and options from the command line (ARGV)
  • Raises errors for unknown options or missing required arguments

Installation

To use options_by_example, first install the gem by running:

gem install options_by_example

Alternatively, add this line to your Gemfile and run bundle install:

gem 'options_by_example'

Example

require 'options_by_example'

Options = OptionsByExample.read(DATA).parse(ARGV)

puts Options.include? :secure
puts Options.include? :verbose
puts Options.include? :retries
puts Options.include? :timeout
puts Options.get :retries
puts Options.get :timeout
puts Options.get :mode
puts Options.get :host
puts Options.get :port


__END__
Establishes a network connection to a designated host and port, enabling
users to assess network connectivity and diagnose potential problems.

Usage: connect [options] [mode] host port

Options:
  -s, --secure        Establish a secure connection (SSL/TSL)
  -v, --verbose       Enable verbose output for detailed information
  -r, --retries NUM   Number of connection retries (default 3)
  -t, --timeout NUM   Set connection timeout in seconds

Arguments:
  [mode]              Optional connection mode (active or passive)
  host                The target host to connect to (e.g., example.com)
  port                The target port to connect to (e.g., 80)

About

No-code option parser that extracts arguments directly from usage text.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published