class Hieracles::Optparse

Attributes

options[R]
payload[R]

Public Class Methods

new(array) click to toggle source
# File lib/hieracles/optparse.rb, line 11
def initialize(array)
  @options = {}
  @payload = []
  ok = optionkeys
  while x = array.shift
    if x[0] == '-'
      found = ok[x[/[a-z][-_a-z]*$/]]
      if found
        if found[:has_args]
          @options[found[:var]] = array.shift
        else
          @options[found[:var]] = true
        end
      else
        array.shift
      end
    else
      @payload << x
    end
  end
end

Public Instance Methods

available_options() click to toggle source
# File lib/hieracles/optparse.rb, line 7
def available_options
  {}
end
optionkeys() click to toggle source
# File lib/hieracles/optparse.rb, line 33
def optionkeys
  back = {}
  available_options.each do |k, v|
    v[:aliases].each do |a|
      back[a] = { var: k, has_args: v[:has_arg] }
    end
  end
  back
end