Ruby regex gsub una línea en un archivo de texto

Necesito hacer coincidir una línea en una cadena de archivo de texto ingresada y envolver esa línea capturada con un carácter, por ejemplo.

Por ejemplo imagina un archivo de texto como tal:

test
foo
test
bar

Me gustaría usar gsub para la salida:

XtestX
XfooX
XtestX
XbarX

Aunque estoy teniendo problemas para hacer coincidir una línea. He intentado usar expresiones regulares comenzando con ^ y terminando con $, pero no parece funcionar. ¿Algunas ideas?

Tengo un archivo de texto que tiene lo siguiente:

test
foo
test
bag

El archivo de texto se está leyendo como un argumento de línea de comandos.

Así que tengo

string = IO.read(ARGV[0])
string = string.gsub(/^(test)$/,'X\1X')

puts string

Produce exactamente lo mismo que está en el archivo de texto.

Respuestas a la pregunta(5)

Su respuesta a la pregunta