Sha256: d67036aaa7b83e19f453d76b47fe4085801beedd4630fc569a1d19db2c556dfe
Contents?: true
Size: 1.31 KB
Versions: 5
Compression:
Stored size: 1.31 KB
Contents
require 'optparse' module Marvin class Options def self.parse! options = { :verbose => Marvin::Settings.verbose, :log_level => Marvin::Settings.log_level.to_s, :daemon => false } ARGV.options do |o| script_name = File.basename($0) o.set_summary_indent(' ') o.banner = "Usage: #{script_name} [OPTIONS]" o.define_head "Ruby IRC Library" o.separator "" o.separator "" o.on("-l", "--level=[level]", String, "The log level to use", "Default: #{options[:log_level]}") {|options[:log_level]|} o.on("-v", "--verbose", "Be verbose (print to stdout)") {|options[:verbose]|} o.on("-d", "--daemon", "Run as a daemon (drop the PID)") {|options[:daemon]|} o.on("-k", "--kill", "Kill all of the current type / the running instances") do |kill| if kill Marvin::Daemon.kill_all(Marvin::Loader.type) exit end end o.separator "" o.on_tail("-h", "--help", "Show this message.") { puts o; exit } o.parse! end Marvin::Settings.daemon = options[:daemon] Marvin::Settings.log_level = options[:log_level].to_sym Marvin::Settings.verbose = options[:verbose] end end end
Version data entries
5 entries across 5 versions & 1 rubygems