class OrdnanceSurvey::PlacesAPI
Public Class Methods
Source
# File app/lib/ordnance_survey/places_api.rb, line 5 def self.find(...) = new.find(...) def initialize @api_key = Settings.ordnance_survey.api_key @base_url = "https://api.os.uk" end def find(query) params = { query:, format: "json" } response = connection.get("/search/places/v1/find", params) response.body.deep_transform_keys(&:downcase).deep_symbolize_keys end private def connection @connection ||= Faraday.new(url: @base_url) do |f| f.request :url_encoded f.headers["Key"] = @api_key f.response :logger if Rails.env.development? f.response :json f.response :raise_error end end end
Source
# File app/lib/ordnance_survey/places_api.rb, line 7 def initialize @api_key = Settings.ordnance_survey.api_key @base_url = "https://api.os.uk" end
Public Instance Methods
Source
# File app/lib/ordnance_survey/places_api.rb, line 20 def connection @connection ||= Faraday.new(url: @base_url) do |f| f.request :url_encoded f.headers["Key"] = @api_key f.response :logger if Rails.env.development? f.response :json f.response :raise_error end end
Source
# File app/lib/ordnance_survey/places_api.rb, line 12 def find(query) params = { query:, format: "json" } response = connection.get("/search/places/v1/find", params) response.body.deep_transform_keys(&:downcase).deep_symbolize_keys end