Skip to content
Snippets Groups Projects
Commit 83cbf1b8 authored by Shelby Switzer's avatar Shelby Switzer
Browse files

add optional attributes argument for AR base query

parent ffe15f0b
No related branches found
No related tags found
No related merge requests found
...@@ -115,6 +115,13 @@ module Geocoder::Store ...@@ -115,6 +115,13 @@ module Geocoder::Store
if options[:units] if options[:units]
options[:units] = options[:units].to_sym options[:units] = options[:units].to_sym
end end
if options[:attrs]
@latitude_attribute = options[:attrs][:latitude]
@longitude_attribute = options[:attrs][:longitude]
else
@latitude_attribute = geocoder_options[:latitude]
@longitude_attribute = geocoder_options[:longitude]
end
options[:units] ||= (geocoder_options[:units] || Geocoder.config.units) options[:units] ||= (geocoder_options[:units] || Geocoder.config.units)
select_distance = options.fetch(:select_distance, true) select_distance = options.fetch(:select_distance, true)
options[:order] = "" if !select_distance && !options.include?(:order) options[:order] = "" if !select_distance && !options.include?(:order)
...@@ -126,8 +133,8 @@ module Geocoder::Store ...@@ -126,8 +133,8 @@ module Geocoder::Store
b = Geocoder::Calculations.bounding_box([latitude, longitude], radius, options) b = Geocoder::Calculations.bounding_box([latitude, longitude], radius, options)
args = b + [ args = b + [
full_column_name(geocoder_options[:latitude]), full_column_name(@latitude_attribute),
full_column_name(geocoder_options[:longitude]) full_column_name(@longitude_attribute)
] ]
bounding_box_conditions = Geocoder::Sql.within_bounding_box(*args) bounding_box_conditions = Geocoder::Sql.within_bounding_box(*args)
...@@ -157,8 +164,8 @@ module Geocoder::Store ...@@ -157,8 +164,8 @@ module Geocoder::Store
Geocoder::Sql.send( Geocoder::Sql.send(
method_prefix + "_distance", method_prefix + "_distance",
latitude, longitude, latitude, longitude,
full_column_name(geocoder_options[:latitude]), full_column_name(@latitude_attribute || geocoder_options[:latitude]),
full_column_name(geocoder_options[:longitude]), full_column_name(@longitude_attribute || geocoder_options[:longitude]),
options options
) )
end end
...@@ -176,8 +183,8 @@ module Geocoder::Store ...@@ -176,8 +183,8 @@ module Geocoder::Store
Geocoder::Sql.send( Geocoder::Sql.send(
method_prefix + "_bearing", method_prefix + "_bearing",
latitude, longitude, latitude, longitude,
full_column_name(geocoder_options[:latitude]), full_column_name(@latitude_attribute),
full_column_name(geocoder_options[:longitude]), full_column_name(@longitude_attribute),
options options
) )
end end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment