Использование transform_keys
.
urls = [{'logs' => 'foo'}, {'notifications' => 'bar'}]
urls.map { |hash| hash.transform_keys { |key| "example.com/#{key}" } }
# => [{"example.com/logs"=>"foo"}, {"example.com/notifications"=>"bar"}]
Один вопрос: вам лучше всего использовать массив хэшей, или лучше подойдет один ha sh? Например:
urls = { 'logs' => 'foo', 'notifications' => 'bar' }
Кажется немного более разумным способ хранения данных. Затем, сказав, что вам все еще нужно преобразовать эти данные:
urls.transform_keys { |key| "example.com/#{key}" }
# => {"example.com/logs"=>"foo", "example.com/notifications"=>"bar"}
Или перейти из исходного массива к выводу ha sh:
urls = [{'logs' => 'foo'}, {'notifications' => 'bar'}]
urls.reduce({}, &:merge).transform_keys { |key| "example.com/#{key}" }
# => {"example.com/logs"=>"foo", "example.com/notifications"=>"bar"}
Намного проще работать с IMHO :)