ARGF.filename
ARGFはコマンドラインで指定されたファイルを仮想的に連結したファイルですが、ARGF.filenameは実際の現在のファイル名になります。
while line = ARGF.gets print "#{ARGF.filename} > #{line}" end
実行結果です。
>ruby a.rb file*.rb file1.rb > (1..10).each do |n| file1.rb > puts n file1.rb > end file2.rb > ABCDEFGHIJKLMNOPQRSTUVWXYZ file2.rb > ABCDEFGHIJKLMNOPQRSTUVWXYZ file2.rb > ABCDEFGHIJKLMNOPQRSTUVWXYZ