ruby aquí documentos

Estoy tratando de escribir un método en Ruby que use un documento aquí de código HTML con variables de entrada y las complete en consecuencia.

Mi método es:

calcForm(left, op, right, result)

Las etiquetas html que estoy usando son

<input type="text" name="left" value="?????"> 
<select name="op">
<option value="add" ?????>+</option>
<option value="mul" ?????>*</option> 
</select>
<input type="text" name="right" value="?????"> 
=
?????

En todas partes hay signos de interrogación que mi método tiene que completar con las variables left, op, right y result.

Por ejemplo

calcForm(6, "mul", 7, 42) 

debe devolver la cadena:

<input type="text" name="left" value="**6**"> 
<select name="op">
<option value="add">+</option>
<option value="mul" **selected**>*</option> 
</select>
<input type="text" name="right" value="**7**"> 
=
**42**

Por lo tanto, la palabra "seleccionado" debería aparecer después de "agregar" o "jul" según el valor de op, los valores de izquierda y derecha deberían rellenarse en value = "...", y el resultado debería aparecer en la última línea.

Soy nuevo en Ruby, pero esto es lo que he hecho hasta ahora con mi conocimiento de los documentos aquí:

the_tags = <<HERE
<input type="text" name="left" value=#{left}> 
<select name="op">
<option value="add" #{op}>+</option>
<option value="mul" #{op}>*</option> 
</select>
<input type="text" name="right" value=#{right}> 
=
#{result}
HERE

def calcForm(left,op,right,result)

Estoy atrapado en este punto. Estoy confundido acerca de cómo conectar mi método calcForm al documento anterior aquí.

Cualquier ayuda con esto sería muy apreciada!

¡Gracias