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