Canais Marechal (Ruby): enviando objeto serializado para processos filhos

Eu preciso serializar um objeto em Ruby com Marshal e enviá-lo para um subprocesso via pipes. Como posso fazer isso?

Meu código se parece com o seguinte e minhas perguntas estão em comentários:

data = Marshal.dump(data)
#call sub-process
`ruby -r a_lib -e 'a_method'` #### how to send the stdout to the subprocess?

E o a_method se parece com:

def a_method
  ...
  data = Marshal.load(data) #### how to load the stdout of the parent process?
  ...
end

questionAnswers(2)

yourAnswerToTheQuestion