Попробуйте двойную черту:
ruby -Itest -e "require './xxx.rb'" -- -v
Или вот так (без черточек, не требуется):
ruby -Itest xxx.rb -v
Чтобы объяснить, я думаю, что в вашем примере выиспользуют одну черту, что обычно означает «использовать stdin как файл».Вы можете сделать это, например:
cat xxx.rb | ruby -Itest - -v
Двойные тире используются, чтобы остановить синтаксический анализ аргумента и, следовательно, передать -v в тестовый модуль.Относительно того, почему ваш пример с одной чертой работал до 1.9.3 ... Я предполагаю, что до 1.9.3 ruby не был столь строг, когда вы указываете stdin, но ничего не приходит на stdin (какВы не).