class Hiiro::Args
def flag?(flag)
def flag?(flag) flags.include?(flag) end
def flag_value(flag)
def flag_value(flag) found_flag = false raw_args.each do |arg| if found_flag return arg end if arg.match?(/^-\w*#{flag}/) found_flag = true end end nil end
def flags
def flags @flags ||= proc { raw_args.select { |arg| arg.match?(/^-[^-]/) }.flat_map { |arg| arg.sub(/^-/, '').chars } }.call end
def initialize(*raw_args)
def initialize(*raw_args) @raw_args = raw_args end
def values
def values raw_args.reject do |arg| arg.match?(/^-/) end end