Я использую гем Ruby rest-client для вызова API Google и хочу сократить часть URL.
Текущий код:
class GoogleTimezoneGetter
def initialize(lat:, lon:)
@lat = lat
@lon = lon
@time_stamp = Time.new.to_i
end
def response
response = RestClient.get "https://maps.googleapis.com/maps/api/timezone/json?location=#{@lat},#{@lon}×tamp=#{@time_stamp}&key=#{GOOGLE_TIME_ZONE_KEY}"
JSON.parse(response)
end
def time_zone
response["timeZoneId"]
end
end
Я бы хотел бытьв состоянии сделать что-то вроде:
def response
response = RestClient.get (uri, params)
JSON.parse(response)
end
Но я изо всех сил пытаюсь выяснить, как это сделать.
Чтобы сделать класс немного более аккуратным, я хотел бы разбить URLвниз в «URI» и «Params».Я думаю, что гем rest-client позволяет вам сделать это, но я не могу найти конкретные примеры.
Я хочу поместить {@lat},#{@lon}×tamp=#{@time_stamp}&key=#{GOOGLE_TIME_ZONE_KEY}"
в метод 'params' и передать его в RestClient.get
способ.