class Sshster::ArgvParser
Attributes
command[R]
config[R]
help[R]
Public Class Methods
new(argv)
click to toggle source
# File lib/sshster/argv_parser.rb, line 5 def initialize(argv) @argv = argv end
Public Instance Methods
parse()
click to toggle source
# File lib/sshster/argv_parser.rb, line 9 def parse options = parse_argv(@argv) @config = options['-c'] @help = options['-h'] @command = detect_command(options) self end
valid?()
click to toggle source
# File lib/sshster/argv_parser.rb, line 17 def valid? !@command.nil? && valid_commands.include?(@command) end
Private Instance Methods
detect_command(options)
click to toggle source
# File lib/sshster/argv_parser.rb, line 27 def detect_command(options) command = options.find { |_k, v| v.nil? } command[0].to_sym if command end
parse_argv(argv)
click to toggle source
# File lib/sshster/argv_parser.rb, line 32 def parse_argv(argv) Hash[argv.join(' ').scan(/(-?[^=\s]+)(?: ([^-]{1}[\S]+))?/)] end
valid_commands()
click to toggle source
# File lib/sshster/argv_parser.rb, line 23 def valid_commands %i[init compose help] end