В целом вы правильно начали.
JSON.parse действительно нужен для разбора JSON в более привычный для Ruby класс Hash.
Только вы пытались распарсить строку с URL адресом, а не с тем, что за ней скрывается.
Ниже я написал для вас простой пример, с использованием стандартных для Ruby библиотек.
# frozen_string_literal: true
# require dependence gems
require 'net/http' # for http request
require 'json' # for JSON parse
# create URI instance
url = URI.parse 'https://openexchangerates.org/api/latest.json?app_id=60da2bd9b3064714b2c5f2e8b00fbd40%22'
# create simple HTTP GET request
response = Net::HTTP.get_response url
# get body from response
response_body = response.body
# magic! parse response_body from JSON to Ruby Hash class.
#
# second argument is optional
# convert String keys to Symbol, ex. { "foo" => 42 } to { foo: 42 }
result = JSON.parse response_body, symbolize_names: true
# print rates for USD
puts result[:rates][:USD]