lib/geocoder/lookups/google_places_search.rb in geocoder-1.7.5 vs lib/geocoder/lookups/google_places_search.rb in geocoder-1.8.0

- old
+ new

@@ -29,18 +29,24 @@ def query_url_google_params(query) { input: query.text, inputtype: 'textquery', fields: fields(query), + locationbias: locationbias(query), language: query.language || configuration.language } end def fields(query) - query_fields = query.options[:fields] - return format_fields(query_fields) if query_fields + 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 def default_fields legacy = %w[id reference] @@ -50,10 +56,21 @@ atmosphere = %W[price_level rating user_ratings_total] format_fields(legacy, basic, contact, atmosphere) end def format_fields(*fields) - fields.flatten.join(',') + flattened = fields.flatten.compact + return if flattened.empty? + + flattened.join(',') + end + + def locationbias(query) + if query.options.has_key?(:locationbias) + query.options[:locationbias] + else + configuration[:locationbias] + end end end end end