geokit-rails3 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,7 +14,7 @@ module Geokit
14
14
  def acts_as_mappable(options = {})
15
15
  metaclass = (class << self; self; end)
16
16
 
17
- self.send :include, Geokit::ActsAsMappable
17
+ include Geokit::ActsAsMappable
18
18
 
19
19
  cattr_accessor :through
20
20
  self.through = options[:through]
@@ -118,8 +118,14 @@ module Geokit
118
118
 
119
119
  if origin
120
120
  @distance_formula = distance_sql(origin, units, formula)
121
- arel = arel.select('*') if arel.select_values.blank?
122
- arel = arel.select("#{@distance_formula} AS #{distance_column_name}")
121
+
122
+ if arel.select_values.blank?
123
+ star_select = Arel::SqlLiteral.new(arel.quoted_table_name + '.*')
124
+ arel = arel.select(star_select)
125
+ end
126
+
127
+ distance_select = Arel::SqlLiteral.new("#{@distance_formula} AS #{distance_column_name}")
128
+ arel = arel.select(distance_select)
123
129
  end
124
130
 
125
131
  if bounds
@@ -165,19 +171,21 @@ module Geokit
165
171
  end
166
172
 
167
173
  def distance_conditions(options)
168
- if options.has_key?(:within)
174
+ res = if options.has_key?(:within)
169
175
  "#{distance_column_name} <= #{options[:within]}"
170
176
  elsif options.has_key?(:beyond)
171
177
  "#{distance_column_name} > #{options[:beyond]}"
172
178
  elsif options.has_key?(:range)
173
179
  "#{distance_column_name} >= #{options[:range].first} AND #{distance_column_name} <#{'=' unless options[:range].exclude_end?} #{options[:range].last}"
174
180
  end
181
+ Arel::SqlLiteral.new("(#{res})") if res.present?
175
182
  end
176
183
 
177
184
  def bound_conditions(bounds)
178
185
  sw,ne = bounds.sw, bounds.ne
179
186
  lng_sql = bounds.crosses_meridian? ? "(#{qualified_lng_column_name}<#{ne.lng} OR #{qualified_lng_column_name}>#{sw.lng})" : "#{qualified_lng_column_name}>#{sw.lng} AND #{qualified_lng_column_name}<#{ne.lng}"
180
- "#{qualified_lat_column_name}>#{sw.lat} AND #{qualified_lat_column_name}<#{ne.lat} AND #{lng_sql}"
187
+ res = "#{qualified_lat_column_name}>#{sw.lat} AND #{qualified_lat_column_name}<#{ne.lat} AND #{lng_sql}"
188
+ Arel::SqlLiteral.new("(#{res})") if res.present?
181
189
  end
182
190
 
183
191
  # Extracts the origin instance out of the options if it exists and returns
@@ -1,3 +1,3 @@
1
1
  module GeokitRails3
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -31,10 +31,8 @@ class ActsAsMappableTest < GeokitTestCase
31
31
 
32
32
  def test_override_default_units_the_hard_way
33
33
  Location.default_units = :kms
34
- # locations = Location.find(:all, :origin => @loc_a, :conditions => "distance < 3.97")
35
34
  locations = Location.geo_scope(:origin => @loc_a).where("distance < 3.97")
36
35
  assert_equal 5, locations.all.size
37
- # locations = Location.count(:origin => @loc_a, :conditions => "distance < 3.97")
38
36
  assert_equal 5, locations.count
39
37
  Location.default_units = :miles
40
38
  end
@@ -68,7 +66,6 @@ class ActsAsMappableTest < GeokitTestCase
68
66
  end
69
67
 
70
68
  def test_distance_column_in_select
71
- # locations = Location.find(:all, :origin => @loc_a, :order => "distance ASC")
72
69
  locations = Location.geo_scope(:origin => @loc_a).order("distance ASC")
73
70
  assert_equal 6, locations.all.size
74
71
  assert_equal 0, @loc_a.distance_to(locations.first)
@@ -76,71 +73,50 @@ class ActsAsMappableTest < GeokitTestCase
76
73
  end
77
74
 
78
75
  def test_find_with_distance_condition
79
- # locations = Location.find(:all, :origin => @loc_a, :conditions => "distance < 3.97")
80
76
  locations = Location.geo_scope(:origin => @loc_a, :within => 3.97)
81
77
  assert_equal 5, locations.all.size
82
- # locations = Location.count(:origin => @loc_a, :conditions => "distance < 3.97")
83
78
  assert_equal 5, locations.count
84
79
  end
85
80
 
86
81
  def test_find_with_distance_condition_with_units_override
87
- # locations = Location.find(:all, :origin => @loc_a, :units => :kms, :conditions => "distance < 6.387")
88
82
  locations = Location.geo_scope(:origin => @loc_a, :units => :kms, :within => 6.387)
89
83
  assert_equal 5, locations.all.size
90
- # locations = Location.count(:origin => @loc_a, :units => :kms, :conditions => "distance < 6.387")
91
84
  assert_equal 5, locations.count
92
85
  end
93
86
 
94
87
  def test_find_with_distance_condition_with_formula_override
95
- # locations = Location.find(:all, :origin => @loc_a, :formula => :flat, :conditions => "distance < 6.387")
96
88
  locations = Location.geo_scope(:origin => @loc_a, :formula => :flat, :within => 6.387)
97
89
  assert_equal 6, locations.all.size
98
- # locations = Location.count(:origin => @loc_a, :formula => :flat, :conditions => "distance < 6.387")
99
90
  assert_equal 6, locations.count
100
91
  end
101
92
 
102
93
  def test_find_within
103
94
  locations = Location.within(3.97, :origin => @loc_a)
104
95
  assert_equal 5, locations.all.size
105
- # locations = Location.count_within(3.97, :origin => @loc_a)
106
96
  assert_equal 5, locations.count
107
97
  end
108
98
 
109
- # def test_find_within_with_token
110
- # locations = Location.find(:all, :within => 3.97, :origin => @loc_a)
111
- # assert_equal 5, locations.size
112
- # locations = Location.count(:within => 3.97, :origin => @loc_a)
113
- # assert_equal 5, locations
114
- # end
115
-
116
99
  def test_find_within_with_coordinates
117
100
  locations = Location.within(3.97, :origin =>[@loc_a.lat,@loc_a.lng])
118
101
  assert_equal 5, locations.all.size
119
- # locations = Location.count_within(3.97, :origin =>[@loc_a.lat,@loc_a.lng])
120
102
  assert_equal 5, locations.count
121
103
  end
122
104
 
123
105
  def test_find_with_compound_condition
124
- # locations = Location.find(:all, :origin => @loc_a, :conditions => "distance < 5 and city = 'Coppell'")
125
106
  locations = Location.geo_scope(:origin => @loc_a).where("distance < 5 and city = 'Coppell'")
126
107
  assert_equal 2, locations.all.size
127
- # locations = Location.count(:origin => @loc_a, :conditions => "distance < 5 and city = 'Coppell'")
128
108
  assert_equal 2, locations.count
129
109
  end
130
110
 
131
111
  def test_find_with_secure_compound_condition
132
- # locations = Location.find(:all, :origin => @loc_a, :conditions => ["distance < ? and city = ?", 5, 'Coppell'])
133
112
  locations = Location.geo_scope(:origin => @loc_a).where(["distance < ? and city = ?", 5, 'Coppell'])
134
113
  assert_equal 2, locations.all.size
135
- # locations = Location.count(:origin => @loc_a, :conditions => ["distance < ? and city = ?", 5, 'Coppell'])
136
114
  assert_equal 2, locations.count
137
115
  end
138
116
 
139
117
  def test_find_beyond
140
- # locations = Location.find_beyond(3.95, :origin => @loc_a)
141
118
  locations = Location.beyond(3.95, :origin => @loc_a)
142
119
  assert_equal 1, locations.all.size
143
- # locations = Location.count_beyond(3.95, :origin => @loc_a)
144
120
  assert_equal 1, locations.count
145
121
  end
146
122
 
@@ -148,80 +124,56 @@ class ActsAsMappableTest < GeokitTestCase
148
124
  # locations = Location.find(:all, :beyond => 3.95, :origin => @loc_a)
149
125
  locations = Location.geo_scope(:beyond => 3.95, :origin => @loc_a)
150
126
  assert_equal 1, locations.all.size
151
- # locations = Location.count(:beyond => 3.95, :origin => @loc_a)
152
127
  assert_equal 1, locations.count
153
128
  end
154
129
 
155
130
  def test_find_beyond_with_coordinates
156
- # locations = Location.find_beyond(3.95, :origin =>[@loc_a.lat, @loc_a.lng])
157
131
  locations = Location.beyond(3.95, :origin =>[@loc_a.lat, @loc_a.lng])
158
132
  assert_equal 1, locations.all.size
159
- # locations = Location.count_beyond(3.95, :origin =>[@loc_a.lat, @loc_a.lng])
160
133
  assert_equal 1, locations.count
161
134
  end
162
135
 
163
136
  def test_find_range_with_token
164
- # locations = Location.find(:all, :range => 0..10, :origin => @loc_a)
165
137
  locations = Location.geo_scope(:range => 0..10, :origin => @loc_a)
166
138
  assert_equal 6, locations.all.size
167
- # locations = Location.count(:range => 0..10, :origin => @loc_a)
168
139
  assert_equal 6, locations.count
169
140
  end
170
141
 
171
142
  def test_find_range_with_token_with_conditions
172
- # locations = Location.find(:all, :origin => @loc_a, :range => 0..10, :conditions => ["city = ?", 'Coppell'])
173
143
  locations = Location.geo_scope(:origin => @loc_a, :range => 0..10).where(["city = ?", 'Coppell'])
174
144
  assert_equal 2, locations.all.size
175
- # locations = Location.count(:origin => @loc_a, :range => 0..10, :conditions => ["city = ?", 'Coppell'])
176
145
  assert_equal 2, locations.count
177
146
  end
178
147
 
179
148
  def test_find_range_with_token_with_hash_conditions
180
- # locations = Location.find(:all, :origin => @loc_a, :range => 0..10, :conditions => {:city => 'Coppell'})
181
149
  locations = Location.geo_scope(:origin => @loc_a, :range => 0..10).where(:city => 'Coppell')
182
150
  assert_equal 2, locations.all.size
183
- # locations = Location.count(:origin => @loc_a, :range => 0..10, :conditions => {:city => 'Coppell'})
184
151
  assert_equal 2, locations.count
185
152
  end
186
153
 
187
154
  def test_find_range_with_token_excluding_end
188
- # locations = Location.find(:all, :range => 0...10, :origin => @loc_a)
189
155
  locations = Location.geo_scope(:range => 0...10, :origin => @loc_a)
190
156
  assert_equal 6, locations.all.size
191
- # locations = Location.count(:range => 0...10, :origin => @loc_a)
192
157
  assert_equal 6, locations.count
193
158
  end
194
159
 
195
160
  def test_find_nearest
196
- # assert_equal @loc_a, Location.find_nearest(:origin => @loc_a)
197
161
  assert_equal @loc_a, Location.nearest(:origin => @loc_a).first
198
162
  end
199
163
 
200
- # def test_find_nearest_through_find
201
- # assert_equal @loc_a, Location.find(:nearest, :origin => @loc_a)
202
- # end
203
-
204
164
  def test_find_nearest_with_coordinates
205
- # assert_equal @loc_a, Location.find_nearest(:origin =>[@loc_a.lat, @loc_a.lng])
206
165
  assert_equal @loc_a, Location.nearest(:origin =>[@loc_a.lat, @loc_a.lng]).first
207
166
  end
208
167
 
209
168
  def test_find_farthest
210
- # assert_equal @loc_e, Location.find_farthest(:origin => @loc_a)
211
169
  assert_equal @loc_e, Location.farthest(:origin => @loc_a).first
212
170
  end
213
171
 
214
- # def test_find_farthest_through_find
215
- # assert_equal @loc_e, Location.find(:farthest, :origin => @loc_a)
216
- # end
217
-
218
172
  def test_find_farthest_with_coordinates
219
- # assert_equal @loc_e, Location.find_farthest(:origin =>[@loc_a.lat, @loc_a.lng])
220
173
  assert_equal @loc_e, Location.farthest(:origin =>[@loc_a.lat, @loc_a.lng]).first
221
174
  end
222
175
 
223
176
  def test_scoped_distance_column_in_select
224
- # locations = @starbucks.locations.find(:all, :origin => @loc_a, :order => "distance ASC")
225
177
  locations = @starbucks.locations.geo_scope(:origin => @loc_a).order("distance ASC")
226
178
  assert_equal 5, locations.all.size
227
179
  assert_equal 0, @loc_a.distance_to(locations.first)
@@ -229,50 +181,39 @@ class ActsAsMappableTest < GeokitTestCase
229
181
  end
230
182
 
231
183
  def test_scoped_find_with_distance_condition
232
- # locations = @starbucks.locations.find(:all, :origin => @loc_a, :conditions => "distance < 3.97")
233
184
  locations = @starbucks.locations.geo_scope(:origin => @loc_a).where("distance < 3.97")
234
185
  assert_equal 4, locations.all.size
235
- # locations = @starbucks.locations.count(:origin => @loc_a, :conditions => "distance < 3.97")
236
186
  assert_equal 4, locations.count
237
187
  end
238
188
 
239
189
  def test_scoped_find_within
240
- # locations = @starbucks.locations.find_within(3.97, :origin => @loc_a)
241
190
  locations = @starbucks.locations.within(3.97, :origin => @loc_a)
242
191
  assert_equal 4, locations.all.size
243
- # locations = @starbucks.locations.count_within(3.97, :origin => @loc_a)
244
192
  assert_equal 4, locations.count
245
193
  end
246
194
 
247
195
  def test_scoped_find_with_compound_condition
248
- # locations = @starbucks.locations.find(:all, :origin => @loc_a, :conditions => "distance < 5 and city = 'Coppell'")
249
196
  locations = @starbucks.locations.geo_scope(:origin => @loc_a).where("distance < 5 and city = 'Coppell'")
250
197
  assert_equal 2, locations.all.size
251
- # locations = @starbucks.locations.count( :origin => @loc_a, :conditions => "distance < 5 and city = 'Coppell'")
252
198
  assert_equal 2, locations.count
253
199
  end
254
200
 
255
201
  def test_scoped_find_beyond
256
- # locations = @starbucks.locations.find_beyond(3.95, :origin => @loc_a)
257
202
  locations = @starbucks.locations.beyond(3.95, :origin => @loc_a)
258
203
  assert_equal 1, locations.all.size
259
- # locations = @starbucks.locations.count_beyond(3.95, :origin => @loc_a)
260
204
  assert_equal 1, locations.count
261
205
  end
262
206
 
263
207
  def test_scoped_find_nearest
264
- # assert_equal @loc_a, @starbucks.locations.find_nearest(:origin => @loc_a).first
265
208
  assert_equal @loc_a, @starbucks.locations.nearest(:origin => @loc_a).first
266
209
  end
267
210
 
268
211
  def test_scoped_find_farthest
269
- # assert_equal @loc_e, @starbucks.locations.find_farthest(:origin => @loc_a).first
270
212
  assert_equal @loc_e, @starbucks.locations.farthest(:origin => @loc_a).first
271
213
  end
272
214
 
273
215
  def test_ip_geocoded_distance_column_in_select
274
216
  GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
275
- # locations = Location.find(:all, :origin => LOCATION_A_IP, :order => "distance ASC")
276
217
  locations = Location.geo_scope(:origin => LOCATION_A_IP).order("distance ASC")
277
218
  assert_equal 6, locations.all.size
278
219
  assert_equal 0, @loc_a.distance_to(locations.first)
@@ -281,92 +222,70 @@ class ActsAsMappableTest < GeokitTestCase
281
222
 
282
223
  def test_ip_geocoded_find_with_distance_condition
283
224
  GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
284
- # locations = Location.find(:all, :origin => LOCATION_A_IP, :conditions => "distance < 3.97")
285
225
  locations = Location.geo_scope(:origin => LOCATION_A_IP).where2("distance < 3.97")
286
226
  assert_equal 5, locations.all.size
287
- # GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
288
- # locations = Location.count(:origin => LOCATION_A_IP, :conditions => "distance < 3.97")
289
227
  assert_equal 5, locations.count
290
228
  end
291
229
 
292
230
  def test_ip_geocoded_find_within
293
231
  GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
294
- # locations = Location.find_within(3.97, :origin => LOCATION_A_IP)
295
232
  locations = Location.within(3.97, :origin => LOCATION_A_IP)
296
233
  assert_equal 5, locations.all.size
297
- # GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
298
- # locations = Location.count_within(3.97, :origin => LOCATION_A_IP)
299
234
  assert_equal 5, locations.count
300
235
  end
301
236
 
302
237
  def test_ip_geocoded_find_with_compound_condition
303
238
  GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
304
- # locations = Location.find(:all, :origin => LOCATION_A_IP, :conditions => "distance < 5 and city = 'Coppell'")
305
239
  locations = Location.geo_scope(:origin => LOCATION_A_IP).where("distance < 5 and city = 'Coppell'")
306
240
  assert_equal 2, locations.all.size
307
- # GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
308
- # locations = Location.count(:origin => LOCATION_A_IP, :conditions => "distance < 5 and city = 'Coppell'")
309
241
  assert_equal 2, locations.count
310
242
  end
311
243
 
312
244
  def test_ip_geocoded_find_with_secure_compound_condition
313
245
  GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
314
- # locations = Location.find(:all, :origin => LOCATION_A_IP, :conditions => ["distance < ? and city = ?", 5, 'Coppell'])
315
246
  locations = Location.geo_scope(:origin => LOCATION_A_IP).where(["distance < ? and city = ?", 5, 'Coppell'])
316
247
  assert_equal 2, locations.all.size
317
- # GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
318
- # locations = Location.count(:origin => LOCATION_A_IP, :conditions => ["distance < ? and city = ?", 5, 'Coppell'])
319
248
  assert_equal 2, locations.count
320
249
  end
321
250
 
322
251
  def test_ip_geocoded_find_beyond
323
252
  GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
324
- # locations = Location.find_beyond(3.95, :origin => LOCATION_A_IP)
325
253
  locations = Location.beyond(3.95, :origin => LOCATION_A_IP)
326
254
  assert_equal 1, locations.all.size
327
- # GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
328
- # locations = Location.count_beyond(3.95, :origin => LOCATION_A_IP)
329
255
  assert_equal 1, locations.count
330
256
  end
331
257
 
332
258
  def test_ip_geocoded_find_nearest
333
259
  GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
334
- # assert_equal @loc_a, Location.find_nearest(:origin => LOCATION_A_IP)
335
260
  assert_equal @loc_a, Location.nearest(:origin => LOCATION_A_IP).first
336
261
  end
337
262
 
338
263
  def test_ip_geocoded_find_farthest
339
264
  GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with(LOCATION_A_IP).returns(@location_a)
340
- # assert_equal @loc_e, Location.find_farthest(:origin => LOCATION_A_IP)
341
265
  assert_equal @loc_e, Location.farthest(:origin => LOCATION_A_IP).first
342
266
  end
343
267
 
344
268
  def test_ip_geocoder_exception
345
269
  GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with('127.0.0.1').returns(GeoKit::GeoLoc.new)
346
270
  assert_raises GeoKit::Geocoders::GeocodeError do
347
- # Location.find_farthest(:origin => '127.0.0.1')
348
271
  Location.farthest(:origin => '127.0.0.1').first
349
272
  end
350
273
  end
351
274
 
352
275
  def test_address_geocode
353
276
  GeoKit::Geocoders::MultiGeocoder.expects(:geocode).with('Irving, TX').returns(@location_a)
354
- # locations = Location.find(:all, :origin => 'Irving, TX', :conditions => ["distance < ? and city = ?", 5, 'Coppell'])
355
277
  locations = Location.geo_scope(:origin => 'Irving, TX').where(["distance < ? and city = ?", 5, 'Coppell'])
356
278
  assert_equal 2, locations.all.size
357
279
  assert_equal 2, locations.count
358
280
  end
359
281
 
360
282
  def test_find_with_custom_distance_condition
361
- # locations = CustomLocation.find(:all, :origin => @loc_a, :conditions => "dist < 3.97")
362
283
  locations = CustomLocation.geo_scope(:origin => @loc_a).where("dist < 3.97")
363
284
  assert_equal 5, locations.all.size
364
- # locations = CustomLocation.count(:origin => @loc_a, :conditions => "dist < 3.97")
365
285
  assert_equal 5, locations.count
366
286
  end
367
287
 
368
288
  def test_find_with_custom_distance_condition_using_custom_origin
369
- # locations = CustomLocation.find(:all, :origin => @custom_loc_a, :conditions => "dist < 3.97")
370
289
  locations = CustomLocation.geo_scope(:origin => @custom_loc_a).where("dist < 3.97")
371
290
  assert_equal 5, locations.all.size
372
291
  locations = CustomLocation.count(:origin => @custom_loc_a).where("dist < 3.97")
@@ -374,78 +293,60 @@ class ActsAsMappableTest < GeokitTestCase
374
293
  end
375
294
 
376
295
  def test_find_within_with_custom
377
- # locations = CustomLocation.find_within(3.97, :origin => @loc_a)
378
296
  locations = CustomLocation.within(3.97, :origin => @loc_a)
379
297
  assert_equal 5, locations.all.size
380
- # locations = CustomLocation.count_within(3.97, :origin => @loc_a)
381
298
  assert_equal 5, locations.count
382
299
  end
383
300
 
384
301
  def test_find_within_with_coordinates_with_custom
385
- # locations = CustomLocation.find_within(3.97, :origin =>[@loc_a.lat, @loc_a.lng])
386
302
  locations = CustomLocation.within(3.97, :origin =>[@loc_a.lat, @loc_a.lng])
387
303
  assert_equal 5, locations.all.size
388
- # locations = CustomLocation.count_within(3.97, :origin =>[@loc_a.lat, @loc_a.lng])
389
304
  assert_equal 5, locations.count
390
305
  end
391
306
 
392
307
  def test_find_with_compound_condition_with_custom
393
- # locations = CustomLocation.find(:all, :origin => @loc_a, :conditions => "dist < 5 and city = 'Coppell'")
394
308
  locations = CustomLocation.geo_scope(:origin => @loc_a).where("dist < 5 and city = 'Coppell'")
395
309
  assert_equal 1, locations.all.size
396
- # locations = CustomLocation.count(:origin => @loc_a, :conditions => "dist < 5 and city = 'Coppell'")
397
310
  assert_equal 1, locations.count
398
311
  end
399
312
 
400
313
  def test_find_with_secure_compound_condition_with_custom
401
- # locations = CustomLocation.find(:all, :origin => @loc_a, :conditions => ["dist < ? and city = ?", 5, 'Coppell'])
402
314
  locations = CustomLocation.geo_scope(:origin => @loc_a).where(["dist < ? and city = ?", 5, 'Coppell'])
403
315
  assert_equal 1, locations.all.size
404
- # locations = CustomLocation.count(:origin => @loc_a, :conditions => ["dist < ? and city = ?", 5, 'Coppell'])
405
316
  assert_equal 1, locations.count
406
317
  end
407
318
 
408
319
  def test_find_beyond_with_custom
409
- # locations = CustomLocation.find_beyond(3.95, :origin => @loc_a)
410
320
  locations = CustomLocation.beyond(3.95, :origin => @loc_a)
411
321
  assert_equal 1, locations.all.size
412
- # locations = CustomLocation.count_beyond(3.95, :origin => @loc_a)
413
322
  assert_equal 1, locations.count
414
323
  end
415
324
 
416
325
  def test_find_beyond_with_coordinates_with_custom
417
- # locations = CustomLocation.find_beyond(3.95, :origin =>[@loc_a.lat, @loc_a.lng])
418
326
  locations = CustomLocation.beyond(3.95, :origin =>[@loc_a.lat, @loc_a.lng])
419
327
  assert_equal 1, locations.all.size
420
- # locations = CustomLocation.count_beyond(3.95, :origin =>[@loc_a.lat, @loc_a.lng])
421
328
  assert_equal 1, locations.count
422
329
  end
423
330
 
424
331
  def test_find_nearest_with_custom
425
- # assert_equal @custom_loc_a, CustomLocation.find_nearest(:origin => @loc_a)
426
332
  assert_equal @custom_loc_a, CustomLocation.nearest(:origin => @loc_a).first
427
333
  end
428
334
 
429
335
  def test_find_nearest_with_coordinates_with_custom
430
- # assert_equal @custom_loc_a, CustomLocation.find_nearest(:origin =>[@loc_a.lat, @loc_a.lng])
431
336
  assert_equal @custom_loc_a, CustomLocation.nearest(:origin =>[@loc_a.lat, @loc_a.lng]).first
432
337
  end
433
338
 
434
339
  def test_find_farthest_with_custom
435
- # assert_equal @custom_loc_e, CustomLocation.find_farthest(:origin => @loc_a)
436
340
  assert_equal @custom_loc_e, CustomLocation.farthest(:origin => @loc_a).first
437
341
  end
438
342
 
439
343
  def test_find_farthest_with_coordinates_with_custom
440
- # assert_equal @custom_loc_e, CustomLocation.find_farthest(:origin =>[@loc_a.lat, @loc_a.lng])
441
344
  assert_equal @custom_loc_e, CustomLocation.farthest(:origin =>[@loc_a.lat, @loc_a.lng]).first
442
345
  end
443
346
 
444
347
  def test_find_with_array_origin
445
- # locations = Location.find(:all, :origin =>[@loc_a.lat,@loc_a.lng], :conditions => "distance < 3.97")
446
348
  locations = Location.geo_scope(:origin =>[@loc_a.lat,@loc_a.lng]).where("distance < 3.97")
447
349
  assert_equal 5, locations.all.size
448
- # locations = Location.count(:origin =>[@loc_a.lat,@loc_a.lng], :conditions => "distance < 3.97")
449
350
  assert_equal 5, locations.count
450
351
  end
451
352
 
@@ -453,42 +354,34 @@ class ActsAsMappableTest < GeokitTestCase
453
354
  # Bounding box tests
454
355
 
455
356
  def test_find_within_bounds
456
- # locations = Location.find_within_bounds([@sw,@ne])
457
357
  locations = Location.in_bounds([@sw,@ne])
458
358
  assert_equal 2, locations.all.size
459
- # locations = Location.count_within_bounds([@sw,@ne])
460
359
  assert_equal 2, locations.count
461
360
  end
462
361
 
463
362
  def test_find_within_bounds_ordered_by_distance
464
- # locations = Location.find_within_bounds([@sw,@ne], :origin=>@bounds_center, :order=>'distance asc')
465
363
  locations = Location.in_bounds([@sw,@ne], :origin=>@bounds_center).order('distance asc')
466
364
  assert_equal locations[0], locations(:d)
467
365
  assert_equal locations[1], locations(:a)
468
366
  end
469
367
 
470
368
  def test_find_within_bounds_with_token
471
- # locations = Location.find(:all, :bounds=>[@sw,@ne])
472
369
  locations = Location.geo_scope(:bounds=>[@sw,@ne])
473
370
  assert_equal 2, locations.all.size
474
- # locations = Location.count(:bounds=>[@sw,@ne])
475
371
  assert_equal 2, locations.count
476
372
  end
477
373
 
478
374
  def test_find_within_bounds_with_string_conditions
479
- # locations = Location.find(:all, :bounds=>[@sw,@ne], :conditions=>"id !=#{locations(:a).id}")
480
375
  locations = Location.geo_scope(:bounds=>[@sw,@ne]).where("id !=#{locations(:a).id}")
481
376
  assert_equal 1, locations.all.size
482
377
  end
483
378
 
484
379
  def test_find_within_bounds_with_array_conditions
485
- # locations = Location.find(:all, :bounds=>[@sw,@ne], :conditions=>["id != ?", locations(:a).id])
486
380
  locations = Location.geo_scope(:bounds=>[@sw,@ne]).where(["id != ?", locations(:a).id])
487
381
  assert_equal 1, locations.all.size
488
382
  end
489
383
 
490
384
  def test_find_within_bounds_with_hash_conditions
491
- # locations = Location.find(:all, :bounds=>[@sw,@ne], :conditions=>{:id => locations(:a).id})
492
385
  locations = Location.geo_scope(:bounds=>[@sw,@ne]).where({:id => locations(:a).id})
493
386
  assert_equal 1, locations.all.size
494
387
  end
@@ -513,19 +406,15 @@ class ActsAsMappableTest < GeokitTestCase
513
406
  # Test :through
514
407
 
515
408
  def test_find_with_through
516
- # organizations = MockOrganization.find(:all, :origin => @location_a, :order => 'distance ASC')
517
409
  organizations = MockOrganization.geo_scope(:origin => @location_a).order('distance ASC')
518
410
  assert_equal 2, organizations.all.size
519
- # organizations = MockOrganization.count(:origin => @location_a, :conditions => "distance < 3.97")
520
411
  organizations = MockOrganization.geo_scope(:origin => @location_a).where("distance < 3.97")
521
412
  assert_equal 1, organizations.count
522
413
  end
523
414
 
524
415
  def test_find_with_through_with_hash
525
- # people = MockPerson.find(:all, :origin => @location_a, :order => 'distance ASC')
526
416
  people = MockPerson.geo_scope(:origin => @location_a).order('distance ASC')
527
417
  assert_equal 2, people.size
528
- # people = MockPerson.count(:origin => @location_a, :conditions => "distance < 3.97")
529
418
  assert_equal 2, people
530
419
  end
531
420
  end