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