class NaverMap
Constants
- GEOCODE_REQUEST_URL
- REVERSE_GEOCODE_URL
- VERSION
Attributes
client_id[R]
client_secret[R]
Public Class Methods
new(client_id, client_secret)
click to toggle source
# File lib/naver_map.rb, line 12 def initialize(client_id, client_secret) @client_id = client_id @client_secret = client_secret validate! end
Public Instance Methods
address_to_coordinates(address)
click to toggle source
# File lib/naver_map.rb, line 19 def address_to_coordinates(address) response = query(GEOCODE_REQUEST_URL, address).body extract_result(response, :point) # Second argument should be a symbol end
coordinates_to_address(axis_x, axis_y)
click to toggle source
# File lib/naver_map.rb, line 24 def coordinates_to_address(axis_x, axis_y) response = query(REVERSE_GEOCODE_URL, axis_x, axis_y).body extract_result(response, :address) end
to_s()
click to toggle source
# File lib/naver_map.rb, line 29 def to_s "Client ID: #{client_id}, Client Secret: #{client_secret}" end
Private Instance Methods
extract_result(content, result_type)
click to toggle source
# File lib/naver_map.rb, line 60 def extract_result(content, result_type) result_json = render_json(content) if result_json[:result] result_items = result_json[:result][:items] return result_items.first[result_type] unless result_items.size > 1 result_items.map { |item| item[result_type] } else result_json end end
query(url, *params)
click to toggle source
# File lib/naver_map.rb, line 50 def query(url, *params) request_to_naver(url, params) rescue RestClient::ExceptionWithResponse => err err.response end
render_json(body)
click to toggle source
# File lib/naver_map.rb, line 56 def render_json(body) JSON.parse(body, symbolize_names: true) end
valid_keys?()
click to toggle source
# File lib/naver_map.rb, line 39 def valid_keys? client_id.is_a?(String) && client_id.length == 20 && client_secret.is_a?(String) && client_secret.length == 10 end
validate!()
click to toggle source
# File lib/naver_map.rb, line 35 def validate! raise InvalidKeysError.new(client_id, client_secret) unless valid_keys? end