class Ragol::ArgsList

Attributes

args[RW]

Public Class Methods

new(args = Array.new) click to toggle source
# File lib/ragol/argslist.rb, line 8
def initialize args = Array.new
  @args = args
end

Public Instance Methods

[](idx) click to toggle source
# File lib/ragol/argslist.rb, line 52
def [] idx
  @args[idx]
end
args_empty?() click to toggle source
# File lib/ragol/argslist.rb, line 30
def args_empty?
  @args.empty?
end
current_arg() click to toggle source
# File lib/ragol/argslist.rb, line 38
def current_arg
  curr = @args[0]
  re = Regexp.new('^-(?:\d+|\w)')
  if md = re.match(curr)
    md[0]
  else
    curr
  end
end
empty?() click to toggle source
# File lib/ragol/argslist.rb, line 34
def empty?
  @args.empty?
end
end_of_options?() click to toggle source
# File lib/ragol/argslist.rb, line 56
def end_of_options?
  current_arg == '--'
end
eql?(args) click to toggle source
# File lib/ragol/argslist.rb, line 48
def eql? args
  @args == args
end
next_arg() click to toggle source
# File lib/ragol/argslist.rb, line 12
def next_arg
  curr = @args.shift
  re = Regexp.new('^- (?:(\d+)(\D+) | ([a-zA-Z])(\w+) )', Regexp::EXTENDED)

  if md = re.match(curr)
    mi = md[1] ? 1 : 3
    arg, newarg = ('-' + md[mi]), ('-' + md[mi + 1])
    @args.unshift newarg
    arg
  else
    curr
  end
end
shift_arg() click to toggle source
# File lib/ragol/argslist.rb, line 26
def shift_arg
  @args.shift
end