Извлечение значений из хеша

Здравствуйте, я использую HTTParty для вызова удаленного файла json, который мне нужен для извлечения URL для использования в одном из моих тестов ... формат json выглядит примерно так:

  "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"
    }

на irb я могу получить все вложенные хэши внутри примера: ['manifest'] ['files'], и я могу получить только URL, если я укажу, какой из них .. как, например, помещает file ['manifest'] ['files' ] ['1'] ['url'] <- это работает на irb, но так как мне нужно получить ВСЕ url, именно поэтому я использую .each, но это дает мне невозможное преобразование в строковую ошибку или подобное

#!/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

не работает, но я могу на IRB сделать:

помещает элемент ['manifest'] ['files'] [2] ['url'] <- и это даст мне URL, но с .each будет просто жаловаться на невозможность преобразования в строку или подобное

Ответы на вопрос(2)

Ваш ответ на вопрос