Skip to content

Instantly share code, notes, and snippets.

@dotemacs
Forked from rtomayko/optparse-template.rb
Created May 20, 2013 14:06
Show Gist options
  • Save dotemacs/5612456 to your computer and use it in GitHub Desktop.
Save dotemacs/5612456 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
#/ Usage: <progname> [options]...
#/ How does this script make my life easier?
# ** Tip: use #/ lines to define the --help usage message.
$stderr.sync = true
require 'optparse'
# default options
flag = false
option = "default value"
integer = 23
list = ["x", "y", "z"]
# parse arguments
file = __FILE__
ARGV.options do |opts|
opts.on("-f", "--flag") { |flag| }
opts.on("-o", "--opt=val", String) { |option| }
opts.on("-i", "--int=val", Integer) { |integer| }
opts.on("--list=[x,y,z]", Array) { |list| }
opts.on_tail("-h", "--help") { exec "grep ^#/<'#{file}'|cut -c4-" }
opts.parse!
end
# do your thing
warn "ARGV: #{ARGV.inspect}"
warn "flag: #{flag.inspect}"
warn "option: #{option.inspect}"
warn "integer: #{integer.inspect}"
warn "list: #{list.join(',')}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment