Module: Sequel::Plugins::Mappable::ClassMethods
- Defined in:
- lib/sequel_mappable.rb
Instance Method Summary collapse
- #acts_as_mappable ⇒ Object
- #distance_column_name ⇒ Object
- #distance_sql(origin) ⇒ Object
- #lat_column_name ⇒ Object
- #lng_column_name ⇒ Object
Instance Method Details
#acts_as_mappable ⇒ Object
14 15 16 |
# File 'lib/sequel_mappable.rb', line 14 def acts_as_mappable true end |
#distance_column_name ⇒ Object
18 19 20 |
# File 'lib/sequel_mappable.rb', line 18 def distance_column_name :distance end |
#distance_sql(origin) ⇒ Object
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/sequel_mappable.rb', line 30 def distance_sql(origin) lat = deg2rad(origin.lat) lng = deg2rad(origin.lng) multiplier = units_sphere_multiplier(:kms) %| (ACOS(least(1,COS(#{lat})*COS(#{lng})*COS(RADIANS(lat))*COS(RADIANS(lng))+ COS(#{lat})*SIN(#{lng})*COS(RADIANS(lat))*SIN(RADIANS(lng))+ SIN(#{lat})*SIN(RADIANS(lat))))*#{multiplier}) | end |
#lat_column_name ⇒ Object
22 23 24 |
# File 'lib/sequel_mappable.rb', line 22 def lat_column_name :lat end |
#lng_column_name ⇒ Object
26 27 28 |
# File 'lib/sequel_mappable.rb', line 26 def lng_column_name :lng end |