Sha256: ba1e884481c83e64248ace7c378ab8cf6aff79d09f0ed96d6c032b9057656438
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
require 'optparse' module Ego class Options attr_reader :mode, :robot_name, :verbose, :query, :usage, :usage_error def initialize(argv) @mode = :interpret @verbose = false parse(argv) @query = argv.join(" ") end private def parse(argv) OptionParser.new do |opts| @robot_name = opts.program_name.capitalize opts.banner = "Usage: #{opts.program_name} [ options ] query..." opts.on("-s", "--shell", "Start in REPL-mode") do @mode = :shell end opts.on("-v", "--version", "Print version number") do @mode = :version end opts.on("-V", "--verbose", "Include debugging info in output") do @verbose = true end opts.on("-h", "--help", "Show this message") do @mode = :help end begin argv = ["-h"] if argv.empty? opts.parse!(argv) rescue OptionParser::ParseError => e @usage_error = e.message @mode = :help ensure @usage = opts end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ego-0.3.0 | lib/ego/options.rb |
ego-0.2.0 | lib/ego/options.rb |