Class: GdsApi::PlacesManager
- Inherits:
-
Base
- Object
- Base
- GdsApi::PlacesManager
- Defined in:
- lib/gds_api/places_manager.rb
Instance Method Summary collapse
- #api_url(type, params) ⇒ Object
- #places(type, lat, lon, limit = 5) ⇒ Object
- #places_for_postcode(type, postcode, limit = 5, local_authority_slug = nil) ⇒ Object
- #places_kml(type) ⇒ Object
Instance Method Details
#api_url(type, params) ⇒ Object
4 5 6 7 8 |
# File 'lib/gds_api/places_manager.rb', line 4 def api_url(type, params) vals = %i[limit lat lng postcode local_authority_slug].select { |p| params.include? p } querystring = URI.encode_www_form(vals.map { |p| [p, params[p]] }) "#{@endpoint}/places/#{type}.json?#{querystring}" end |
#places(type, lat, lon, limit = 5) ⇒ Object
10 11 12 13 |
# File 'lib/gds_api/places_manager.rb', line 10 def places(type, lat, lon, limit = 5) url = api_url(type, lat:, lng: lon, limit:) get_json(url) end |
#places_for_postcode(type, postcode, limit = 5, local_authority_slug = nil) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/gds_api/places_manager.rb', line 15 def places_for_postcode(type, postcode, limit = 5, = nil) = { postcode:, limit: } .merge!(local_authority_slug:) if url = api_url(type, ) get_json(url) || [] end |
#places_kml(type) ⇒ Object
22 23 24 |
# File 'lib/gds_api/places_manager.rb', line 22 def places_kml(type) get_raw("#{@endpoint}/places/#{type}.kml").body end |