class GeoRb::GeoCoders::Base

Public Instance Methods

call(url, post_process_proc = nil) click to toggle source
# File lib/geo_rb/geo_coders/base.rb, line 7
def call(url, post_process_proc = nil)
  GeoRb.logger.debug data = parse_payload(fetch_data(URI(url)))
  post_process_proc ? post_process_proc.call(data) : data
end

Private Instance Methods

fetch_data(url) click to toggle source
# File lib/geo_rb/geo_coders/base.rb, line 14
def fetch_data(url)
  response = Net::HTTP.get(url)
  JSON.parse(response).map { |result| result.transform_keys(&:to_sym) }
end
format_bounding_box(a, b) click to toggle source
# File lib/geo_rb/geo_coders/base.rb, line 19
def format_bounding_box(a, b)
  lat1 = [a.latitude, b.latitude].min
  lon1 = [a.longitude, b.longitude].min
  lat2 = [a.longitude, b.latitude].max
  lon2 = [a.longitude, b.longitude].max
  [lat1, lon1, lat2, lon2].join(",")
end