class Rootage::ArgumentDefinition

Private Instance Methods

execute_main(cmd) click to toggle source

Parse the argument.

@param cmd [Command]

command object

@return [void]

# File lib/rootage/argument.rb, line 32
def execute_main(cmd)
  list.each_with_index do |item, i|
    if cmd.argv[i].nil?
      if item.missing
        raise ArgvError.new(item.missing)
      else
        raise ArgvError.new("The argument <%{name}> required." % {name: item.heading || item.name})
      end
    else
      cmd.model[item.key] = Normalizer.normalize(item.type, cmd.argv[i])
    end
  end
end