Class: GeoAPI::Query
- Inherits:
-
Object
- Object
- GeoAPI::Query
- Defined in:
- lib/geoapi/query.rb
Class Method Summary collapse
- .build_url(resource_path, options = {}) ⇒ Object
- .get(url) ⇒ Object
- .get_then_parse(url) ⇒ Object
-
.query(query) ⇒ Object
Uses GeoAPI’s MQL query method.
-
.simple_search(lat, lon, options = {}) ⇒ Object
Uses GeoAPI’s simple search method.
Class Method Details
.build_url(resource_path, options = {}) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/geoapi/query.rb', line 25 def build_url(resource_path, = {}) [:apikey] ||= GeoAPI.apikey query_string = build_query_params() "#{GeoAPI::API_URL}#{resource_path}#{query_string}" end |
.get(url) ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/geoapi/query.rb', line 33 def get(url) RestClient.get(url) rescue RestClient::RequestFailed raise BadRequest, "Parameter invalid" rescue RestClient::ResourceNotFound raise NotFound, "GUID invalid" end |
.get_then_parse(url) ⇒ Object
21 22 23 |
# File 'lib/geoapi/query.rb', line 21 def get_then_parse(url) JSON.parse(get(url)) end |
.query(query) ⇒ Object
Uses GeoAPI’s MQL query method
14 15 16 17 18 |
# File 'lib/geoapi/query.rb', line 14 def query(query) q = JSON.generate(query) url = build_url('q', {:q => URI.escape(q)}) get_then_parse(url) end |
.simple_search(lat, lon, options = {}) ⇒ Object
Uses GeoAPI’s simple search method
6 7 8 9 10 11 |
# File 'lib/geoapi/query.rb', line 6 def simple_search(lat, lon, = {}) [:lat] = lat [:lon] = lon url = build_url('search', ) get_then_parse(url) end |