class Geocoder::Lookup::GooglePlacesSearch
Public Instance Methods
name()
click to toggle source
# File lib/geocoder/lookups/google_places_search.rb, line 7 def name "Google Places Search" end
required_api_key_parts()
click to toggle source
# File lib/geocoder/lookups/google_places_search.rb, line 11 def required_api_key_parts ["key"] end
supported_protocols()
click to toggle source
# File lib/geocoder/lookups/google_places_search.rb, line 15 def supported_protocols [:https] end
Private Instance Methods
base_query_url(query)
click to toggle source
# File lib/geocoder/lookups/google_places_search.rb, line 25 def base_query_url(query) "#{protocol}://maps.googleapis.com/maps/api/place/findplacefromtext/json?" end
default_fields()
click to toggle source
# File lib/geocoder/lookups/google_places_search.rb, line 51 def default_fields basic = %w[business_status formatted_address geometry icon name photos place_id plus_code types] contact = %w[opening_hours] atmosphere = %W[price_level rating user_ratings_total] format_fields(basic, contact, atmosphere) end
fields(query)
click to toggle source
# File lib/geocoder/lookups/google_places_search.rb, line 39 def fields(query) if query.options.has_key?(:fields) return format_fields(query.options[:fields]) end if configuration.has_key?(:fields) return format_fields(configuration[:fields]) end default_fields end
format_fields(*fields)
click to toggle source
# File lib/geocoder/lookups/google_places_search.rb, line 59 def format_fields(*fields) flattened = fields.flatten.compact return if flattened.empty? flattened.join(',') end
locationbias(query)
click to toggle source
# File lib/geocoder/lookups/google_places_search.rb, line 66 def locationbias(query) if query.options.has_key?(:locationbias) query.options[:locationbias] else configuration[:locationbias] end end
query_url_google_params(query)
click to toggle source
# File lib/geocoder/lookups/google_places_search.rb, line 29 def query_url_google_params(query) { input: query.text, inputtype: 'textquery', fields: fields(query), locationbias: locationbias(query), language: query.language || configuration.language } end
result_root_attr()
click to toggle source
# File lib/geocoder/lookups/google_places_search.rb, line 21 def result_root_attr 'candidates' end