Я не думаю, что он когда-либо пропускал каталоги, по крайней мере, даже 1.8.6 этого не делает. Так что я полагаю, что единственный быстрый способ - это дать ему список файлов или манипулировать ARGV, но это вряд ли будет правильным однострочником.
Примерно так:
ruby -ne 'ARGV.delete_if{|s| File.ftype(s) == "directory"}; do_stuff_here' src/**
Так что, да, правильно составить список файлов, кажется, более удачное решение.