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