class Optimist::Parser

def either(*syms)

# Marks two (or more!) options as required but mutually exclusive.
def either(*syms)
  syms.each { |sym| raise ArgumentError, "unknown option '#{sym}'" unless @specs[sym] }
  @constraints << [:conflicts, syms]
  @constraints << [:either, syms]
end