module AWS::Core::OptionGrammar::ModuleMethods

def parse_option(option)

def parse_option(option)
  value_desc = nil
  if option.kind_of? Hash
    raise ArgumentError.new("passed empty hash where an option was expected") if
      option.empty?
    raise ArgumentError.new("too many entries in option description") if
      option.size > 1
    (name, value_desc) = option.to_a.first
    name = name.to_s
    raise ArgumentError.new("expected an array for "+
                            "value description of option #{name},"+
                            "got #{value_desc.inspect}") unless
      value_desc.nil? or value_desc.kind_of?(Array)
  else
    name = option
  end
  value_desc ||= []
  [name, value_desc]
end