Extrair valores de um hash

Olá, estou usando HTTParty para chamar um arquivo json remoto que preciso extrair os URLs para usar em um dos meus testes. O formato json é algo como:

  "manifest" : {
    "header" : {
      "generated" : "xxxxxxxxxxxxxxx",
      "name" : "xxxxxxxxxxx",
      "version" : "1.0.0"
    },
    "files" : [ {
      "file" : "blimp.zip",
      "url" : "http://www.xxx.xx/restaurants_blimp.zip",
      "checksum" : "ee98c9455b8d7ba6556f53256f95"
    }, {
      "file" : "yard.zip",
      "url" : "www.xxx.xx/yard.zip",
      "checksum" : "e66aa3d123f804f34afc622b5"
    }

on irb Eu posso obter todos os sub-hashes dentro do exemplo: ['manifest'] ['files'] e só posso obter o URL se eu especificar qual .. como, por exemplo, coloca os arquivos file ['manifest'] [' '] [' 1 '] [' url '] <- isso funciona no irb, mas como eu preciso obter TODOS os URLs, é por isso que eu uso .each, mas isso me dá uma impossibilidade de converter em erro de string ou semelhante

#!/usr/bin/env ruby

require 'httparty'

HOST=ARGV[0]
ID=ARGV[1]
VERSION=ARGV[2]


class MyApi
  include HTTParty
end

file = MyApi.get("http://#{HOST}/v1/dc/manifest/#{ID}/#{VERSION}")


file.each do |item|
 puts item['manifest']['files']['url']
end

não está funcionando, mas no IRB poss

puts item ['manifest'] ['files'] [2] ['url'] <- e isso me fornecerá o URL, mas com o .each será apenas uma reclamação sobre não é possível converter para string ou semelhante

questionAnswers(4)

yourAnswerToTheQuestion