¿Cómo tokenizar esta cadena en Ruby?

Tengo esta cadena:

%{Children^10 Health "sanitation management"^5}

Y quiero convertirlo para convertirlo en una matriz de hashes:

[{:keywords=>"children", :boost=>10}, {:keywords=>"health", :boost=>nil}, {:keywords=>"sanitation management", :boost=>5}]

Soy consciente de StringScanner y laSyntax gem pero no puedo encontrar suficientes ejemplos de código para ambos.

¿Algún puntero?

Respuestas a la pregunta(3)

Su respuesta a la pregunta