class Thor::Options

def check_exclusive!

def check_exclusive!
  opts = @assigns.keys
  # When option A and B are exclusive, if A and B are given at the same time,
  # the diffrence of argument array size will decrease.
  found = @exclusives.find{ |ex| (ex - opts).size < ex.size - 1 }
  if found
    names = names_to_switch_names(found & opts).map{|n| "'#{n}'"}
    class_name = self.class.name.split("::").last.downcase
    fail ExclusiveArgumentError, "Found exclusive #{class_name} #{names.join(", ")}"
  end
end