mongoid_geospatial 2.5.1 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +51 -32
- data/lib/mongoid_geospatial/helpers/delegate.rb +24 -0
- data/lib/mongoid_geospatial/{field_option.rb → helpers/spatial.rb} +8 -5
- data/lib/mongoid_geospatial/version.rb +1 -1
- data/lib/mongoid_geospatial/wrappers/georuby.rb +19 -3
- data/lib/mongoid_geospatial/wrappers/rgeo.rb +4 -1
- data/lib/mongoid_geospatial.rb +2 -1
- data/spec/models/bar.rb +0 -1
- data/spec/models/bus.rb +11 -0
- data/spec/models/place.rb +13 -0
- data/spec/mongoid_geospatial/field_option_spec.rb +0 -21
- data/spec/mongoid_geospatial/helpers/delegate_spec.rb +45 -0
- data/spec/mongoid_geospatial/helpers/spatial_spec.rb +35 -0
- data/spec/mongoid_geospatial/wrappers/georuby_spec.rb +62 -0
- data/spec/mongoid_geospatial/wrappers/rgeo_spec.rb +9 -2
- metadata +14 -3
data/README.md
CHANGED
@@ -31,16 +31,16 @@ You can also use an external Geometric/Spatial alongside.
|
|
31
31
|
# Include the module
|
32
32
|
include Mongoid::Geospatial
|
33
33
|
|
34
|
-
|
34
|
+
# Just like mongoid,
|
35
35
|
field :name, type: String
|
36
|
-
|
37
|
-
field :location, type: Point
|
36
|
+
# define your field, but choose a geometry type:
|
37
|
+
field :location, type: Point
|
38
38
|
field :route, type: Linestring
|
39
39
|
field :area, type: Polygon
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
|
41
|
+
# If your are going to query on your points, don't forget to index:
|
42
|
+
spatial_index :location
|
43
|
+
# You can index points with :spatial => true option too, see below.
|
44
44
|
end
|
45
45
|
|
46
46
|
|
@@ -57,15 +57,14 @@ Currently, MongoDB supports query operations on 2D points only, so that's
|
|
57
57
|
what this lib does. All geometries apart from points are just arrays
|
58
58
|
in the database. Here's is how you can input a point as:
|
59
59
|
|
60
|
-
* an unordered hash with the lat long string keys defined when setting the field (only applies for setting the field)
|
61
60
|
* longitude latitude array in that order - [long,lat] ([x, y])
|
62
61
|
* an unordered hash with latitude key(:lat, :latitude) and a longitude key(:lon, :long, :lng, :longitude)
|
63
62
|
* an ordered hash with longitude as the first item and latitude as the second item
|
64
63
|
This hash does not have include the latitude and longitude keys
|
65
64
|
\*only works in ruby 1.9 and up because hashes below ruby 1.9 because they are not ordered
|
66
|
-
* anything with the method to_lng_lat that converts
|
65
|
+
* anything with the a method #to_xy or #to_lng_lat that converts itself to [long, lat] array
|
67
66
|
|
68
|
-
We store data in the DB as a [
|
67
|
+
We store data in the DB as a [x, y] array then reformat when it is returned to you
|
69
68
|
|
70
69
|
|
71
70
|
hudson = River.create(
|
@@ -81,15 +80,17 @@ We store data in the DB as a [lng,lat] array then reformat when it is returned t
|
|
81
80
|
Now to access this spatial information we can do this
|
82
81
|
|
83
82
|
hudson.mouth # => [-74.026667, 40.703056]
|
84
|
-
|
83
|
+
|
85
84
|
If you need a hash
|
86
85
|
|
87
86
|
hudson.mouth.to_hsh # => { x: -74.026667, y: 40.703056 }
|
88
|
-
|
87
|
+
|
89
88
|
If you are using GeoRuby or RGeo
|
90
89
|
|
91
90
|
hudson.mouth.to_geo # => NiceGeolib::Point
|
92
91
|
|
92
|
+
Conventions: This lib uses #x and #y everywhere. 1. It's shorter than lat or lng or another variation that also confuses. 2. A point is a 2D mathematical notation, longitude/latitude is when you use that notation to map an sphere. In other words, all longitudes are 'xs' where not all 'xs' are longitudes. In the eyes of a moralist it's not even a valid position point, it does not have #z or #m.
|
93
|
+
|
93
94
|
Distance and other geometrical calculations are delegated to the external
|
94
95
|
library you choosed. More info about using RGeo or GeoRuby below.
|
95
96
|
Some built in helpers for mongoid queries:
|
@@ -106,9 +107,9 @@ Some built in helpers for mongoid queries:
|
|
106
107
|
|
107
108
|
And for polygons and lines:
|
108
109
|
|
109
|
-
|
110
|
-
|
111
|
-
|
110
|
+
house.area.bbox # Returns polygon bounding_box (envelope)
|
111
|
+
house.area.center # Returns calculate middle point
|
112
|
+
|
112
113
|
|
113
114
|
Query
|
114
115
|
--------
|
@@ -125,7 +126,7 @@ You can use Geometry instance directly on any query:
|
|
125
126
|
* near
|
126
127
|
* Bar.near(location: person.house)
|
127
128
|
* Bar.where(:location.near => person.house)
|
128
|
-
|
129
|
+
|
129
130
|
|
130
131
|
* near_sphere
|
131
132
|
* Bar.near_sphere(location: person.house)
|
@@ -134,15 +135,15 @@ You can use Geometry instance directly on any query:
|
|
134
135
|
|
135
136
|
* within_box
|
136
137
|
* Bar.within_box(location: hood.area)
|
137
|
-
|
138
|
+
|
138
139
|
|
139
140
|
* within_circle
|
140
141
|
* Bar.within_circle(location: hood.area)
|
141
|
-
|
142
|
+
|
142
143
|
|
143
144
|
* within_circle_sphere
|
144
145
|
* Bar.within_circle_sphere(location: hood.area)
|
145
|
-
|
146
|
+
|
146
147
|
|
147
148
|
* within_polygon
|
148
149
|
* Bar.within_polygon(location: city.area)
|
@@ -213,7 +214,7 @@ With RGeo
|
|
213
214
|
With GeoRuby
|
214
215
|
|
215
216
|
Mongoid::Geospatial.use_georuby
|
216
|
-
|
217
|
+
|
217
218
|
|
218
219
|
Defaults (change if you know what you're doing)
|
219
220
|
|
@@ -233,25 +234,43 @@ You can create Point, Line, Circle, Box and Polygon on your models:
|
|
233
234
|
include Mongoid::Document
|
234
235
|
include Mongoid::Geospatial
|
235
236
|
|
236
|
-
field :location,
|
237
|
+
field :location, type: Point, :spatial => true, :delegate => true
|
238
|
+
|
239
|
+
field :route, type: Line
|
240
|
+
field :area, type: Polygon
|
241
|
+
|
242
|
+
field :square, type: Box
|
243
|
+
field :around, type: Circle
|
237
244
|
|
238
|
-
field :route, type: Line
|
239
|
-
field :area, type: Polygon
|
240
|
-
|
241
|
-
field :square, type: Box
|
242
|
-
field :around, type: Circle
|
243
|
-
|
244
245
|
# spatial indexing
|
245
246
|
spatial_index :mouth
|
246
247
|
|
247
248
|
# default mongodb options
|
248
249
|
spatial_index :mouth, {bit: 24, min: -180, max: 180}
|
249
|
-
|
250
|
-
|
251
|
-
|
250
|
+
|
251
|
+
# query by location
|
252
|
+
spatial_scope :location
|
252
253
|
end
|
253
254
|
|
254
255
|
|
256
|
+
Helpers
|
257
|
+
-------
|
258
|
+
|
259
|
+
You can use `:spatial => true` to add an '2d' index automatically,
|
260
|
+
No need for `spatial_index :location`:
|
261
|
+
|
262
|
+
|
263
|
+
field :location, type: Point, :spatial => true
|
264
|
+
|
265
|
+
|
266
|
+
You can delegate some point methods to the instance itself:
|
267
|
+
|
268
|
+
|
269
|
+
field :location, type: Point, :delegate => true
|
270
|
+
|
271
|
+
|
272
|
+
Now instead of `instance.location.x` you may call `instance.x`.
|
273
|
+
|
255
274
|
|
256
275
|
Nearby
|
257
276
|
------
|
@@ -259,11 +278,11 @@ Nearby
|
|
259
278
|
You can add a `spatial_scope` on your models. So you can query:
|
260
279
|
|
261
280
|
Bar.nearby(my.location)
|
262
|
-
|
281
|
+
|
263
282
|
instead of
|
264
283
|
|
265
284
|
Bar.near(location: my.location)
|
266
|
-
|
285
|
+
|
267
286
|
Good when you're drunk. Just add to your model:
|
268
287
|
|
269
288
|
spatial_scope :<field>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
Mongoid::Fields.option :delegate do |model, field, options|
|
2
|
+
options = {} unless options.kind_of?(Hash)
|
3
|
+
x_meth = options[:x] || :x
|
4
|
+
y_meth = options[:y] || :y
|
5
|
+
|
6
|
+
model.instance_eval do
|
7
|
+
define_method x_meth do self[field.name][0]; end
|
8
|
+
define_method y_meth do self[field.name][1]; end
|
9
|
+
|
10
|
+
define_method "#{x_meth}=" do |arg|
|
11
|
+
self[field.name][0] = arg
|
12
|
+
end
|
13
|
+
|
14
|
+
define_method "#{y_meth}=" do |arg|
|
15
|
+
self[field.name][1] = arg
|
16
|
+
end
|
17
|
+
|
18
|
+
# model.class_eval do
|
19
|
+
# define_method "close_to" do |*args|
|
20
|
+
# queriable.where(field.name.near_sphere => *args)
|
21
|
+
# end
|
22
|
+
# end
|
23
|
+
end
|
24
|
+
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
#require 'ostruct'
|
2
|
-
|
3
1
|
Mongoid::Fields.option :spatial do |model,field,options|
|
4
2
|
options = {} unless options.kind_of?(Hash)
|
5
3
|
# x_meth = options[:x] || :x
|
@@ -13,9 +11,14 @@ Mongoid::Fields.option :spatial do |model,field,options|
|
|
13
11
|
|
14
12
|
model.class_eval do
|
15
13
|
(self.spatial_fields ||= []) << field.name.to_sym
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
(self.spatial_fields_indexed ||= []) << field.name.to_sym
|
15
|
+
|
16
|
+
# Create 2D index
|
17
|
+
spatial_index field.name
|
18
|
+
|
19
|
+
# define_method "near_#{field.name}" do |*args|
|
20
|
+
# queryable.where(field.near_sphere => args)
|
21
|
+
# end
|
19
22
|
end
|
20
23
|
|
21
24
|
end
|
@@ -1,17 +1,33 @@
|
|
1
|
-
require '
|
1
|
+
require 'geo_ruby'
|
2
2
|
# require 'mongoid_geospatial/extensions/georuby'
|
3
3
|
|
4
4
|
module Mongoid
|
5
5
|
module Geospatial
|
6
6
|
|
7
7
|
class Point
|
8
|
+
delegate :distance, :to => :to_geo
|
9
|
+
|
8
10
|
def to_geo
|
9
|
-
GeoRuby::SimpleFeatures::Point.
|
11
|
+
GeoRuby::SimpleFeatures::Point.xy(x, y)
|
12
|
+
end
|
13
|
+
|
14
|
+
def distance other
|
15
|
+
to_geo.spherical_distance(other.to_geo)
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.mongoize(obj)
|
19
|
+
case obj
|
20
|
+
when GeoRuby::SimpleFeatures::Point then [obj.x, obj.y]
|
21
|
+
when Point then obj.mongoize
|
22
|
+
when Array then obj.to_xy
|
23
|
+
when Hash then obj.to_xy
|
24
|
+
else obj
|
25
|
+
end
|
10
26
|
end
|
11
27
|
end
|
12
28
|
|
13
29
|
|
14
|
-
class Line <
|
30
|
+
class Line < GeometryField
|
15
31
|
def to_geo
|
16
32
|
GeoRuby::SimpleFeatures::LineString.from_array(self)
|
17
33
|
end
|
@@ -5,12 +5,15 @@ module Mongoid
|
|
5
5
|
module Geospatial
|
6
6
|
|
7
7
|
class Point
|
8
|
-
delegate :distance, :to => :to_geo
|
9
8
|
|
10
9
|
def to_geo
|
11
10
|
RGeo::Geographic.spherical_factory.point x, y
|
12
11
|
end
|
13
12
|
|
13
|
+
def distance other
|
14
|
+
to_geo.distance other.to_geo
|
15
|
+
end
|
16
|
+
|
14
17
|
def self.mongoize(obj)
|
15
18
|
case obj
|
16
19
|
when RGeo::Geographic::SphericalPointImpl then [obj.x, obj.y]
|
data/lib/mongoid_geospatial.rb
CHANGED
@@ -4,7 +4,8 @@ require 'active_support/concern'
|
|
4
4
|
require 'mongoid_geospatial/geospatial'
|
5
5
|
require 'mongoid_geospatial/extensions/core_ext'
|
6
6
|
require 'mongoid_geospatial/extensions/rgeo_spherical_point_impl'
|
7
|
-
require 'mongoid_geospatial/
|
7
|
+
require 'mongoid_geospatial/helpers/spatial'
|
8
|
+
require 'mongoid_geospatial/helpers/delegate'
|
8
9
|
|
9
10
|
require 'mongoid_geospatial/fields/geometry_field'
|
10
11
|
|
data/spec/models/bar.rb
CHANGED
data/spec/models/bus.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
class Place
|
2
|
+
include Mongoid::Document
|
3
|
+
include Mongoid::Geospatial
|
4
|
+
|
5
|
+
field :name, :type => String
|
6
|
+
field :location, :type => Point, :spatial => true
|
7
|
+
|
8
|
+
has_one :rating, :as => :ratable
|
9
|
+
|
10
|
+
spatial_index :location
|
11
|
+
spatial_scope :location
|
12
|
+
|
13
|
+
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Mongoid::Fields do
|
4
|
-
|
5
|
-
context "spatial" do
|
6
|
-
before do
|
7
|
-
Bar.create_indexes
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should set some class methods" do
|
11
|
-
far = Bar.create!(name: "Far", location: [7,7])
|
12
|
-
near = Bar.create!(name: "Near", location: [2,2])
|
13
|
-
Bar.nearby([1,1]).should eq([near, far])
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
context "geom" do
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Mongoid::Fields do
|
4
|
+
|
5
|
+
context "delegate" do
|
6
|
+
before do
|
7
|
+
Bus.create_indexes
|
8
|
+
end
|
9
|
+
|
10
|
+
context 'x, y helpers' do
|
11
|
+
|
12
|
+
let(:bus) { Bus.create!(name: "Far", location: [7,8]) }
|
13
|
+
|
14
|
+
it "should set instance method x" do
|
15
|
+
bus.x.should eq(7)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should set instance method y" do
|
19
|
+
bus.y.should eq(8)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should set instance method x=" do
|
23
|
+
bus.x = 9
|
24
|
+
bus.x.should eq(9)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should set instance method y=" do
|
28
|
+
bus.y = 9
|
29
|
+
bus.y.should eq(9)
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should set instance method x and y" do
|
35
|
+
bus = Bus.create!(name: "B", location: [7,7])
|
36
|
+
bus.x = 9; bus.y = 9
|
37
|
+
bus.location.to_a.should eq([9,9])
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
context "geom" do
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Mongoid::Fields do
|
4
|
+
|
5
|
+
context "spatial" do
|
6
|
+
before do
|
7
|
+
Bar.create_indexes
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should created indexes" do
|
11
|
+
Bar.index_options.keys.should include({'location' => '2d'})
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should set spatial fields" do
|
15
|
+
Bar.spatial_fields.should eql([:location])
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should set some class methods" do
|
19
|
+
far = Bar.create!(name: "Far", location: [7,7])
|
20
|
+
near = Bar.create!(name: "Near", location: [2,2])
|
21
|
+
Bar.nearby([1,1]).should eq([near, far])
|
22
|
+
end
|
23
|
+
|
24
|
+
# it "should set some class methods" do
|
25
|
+
# far = Bar.create!(name: "Far", location: [7,7])
|
26
|
+
# near = Bar.create!(name: "Near", location: [2,2])
|
27
|
+
# Bar.near_location([1,1]).should eq([near, far])
|
28
|
+
# end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
context "geom" do
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
|
4
|
+
describe Mongoid::Geospatial::Point do
|
5
|
+
|
6
|
+
before(:all) do
|
7
|
+
Mongoid::Geospatial.send(:remove_const, 'Point')
|
8
|
+
load "#{File.dirname(__FILE__)}/../../../lib/mongoid_geospatial/fields/point.rb"
|
9
|
+
Object.send(:remove_const, 'Place')
|
10
|
+
load "#{File.dirname(__FILE__)}/../../models/place.rb"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should not inferfer with mongoid" do
|
14
|
+
Place.create!(name: "Moe's")
|
15
|
+
Place.count.should eql(1)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should not respond to distance before loading external gem" do
|
19
|
+
bar = Place.create!(location: [5,5])
|
20
|
+
bar.location.should_not respond_to(:distance)
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
describe "queryable" do
|
25
|
+
|
26
|
+
before do
|
27
|
+
Mongoid::Geospatial.use_georuby
|
28
|
+
Place.create_indexes
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "(de)mongoize" do
|
32
|
+
|
33
|
+
it "should mongoize array" do
|
34
|
+
geom = Place.new(location: [10, -9]).location
|
35
|
+
geom.class.should eql(Mongoid::Geospatial::Point)
|
36
|
+
geom.to_geo.class.should eql(GeoRuby::SimpleFeatures::Point)
|
37
|
+
geom.x.should be_within(0.1).of(10)
|
38
|
+
geom.to_geo.y.should be_within(0.1).of(-9)
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should mongoize hash" do
|
42
|
+
geom = Place.new(location: {x: 10, y: -9}).location
|
43
|
+
geom.class.should eql(Mongoid::Geospatial::Point)
|
44
|
+
geom.to_geo.class.should eql(GeoRuby::SimpleFeatures::Point)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should accept a GeoRuby point" do
|
48
|
+
point = GeoRuby::SimpleFeatures::Point.from_x_y 1, 2
|
49
|
+
bar = Place.create!(location: point)
|
50
|
+
bar.location.x.should be_within(0.1).of(1)
|
51
|
+
bar.location.y.should be_within(0.1).of(2)
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should calculate 3d distances by default" do
|
55
|
+
bar = Place.create! location: [-73.77694444, 40.63861111 ]
|
56
|
+
bar2 = Place.create! location: [-118.40, 33.94] #,:unit=>:mi, :spherical => true)
|
57
|
+
bar.location.distance(bar2.location).to_i.should be_within(1).of(3973808)
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -2,6 +2,13 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe Mongoid::Geospatial::Point do
|
4
4
|
|
5
|
+
before(:all) do
|
6
|
+
Mongoid::Geospatial.send(:remove_const, 'Point')
|
7
|
+
load "#{File.dirname(__FILE__)}/../../../lib/mongoid_geospatial/fields/point.rb"
|
8
|
+
Object.send(:remove_const, 'Bar')
|
9
|
+
load "#{File.dirname(__FILE__)}/../../models/bar.rb"
|
10
|
+
end
|
11
|
+
|
5
12
|
it "should not inferfer with mongoid" do
|
6
13
|
Bar.create!(name: "Moe's")
|
7
14
|
Bar.count.should eql(1)
|
@@ -16,8 +23,8 @@ describe Mongoid::Geospatial::Point do
|
|
16
23
|
describe "queryable" do
|
17
24
|
|
18
25
|
before do
|
19
|
-
Bar.create_indexes
|
20
26
|
Mongoid::Geospatial.use_rgeo
|
27
|
+
Bar.create_indexes
|
21
28
|
end
|
22
29
|
|
23
30
|
describe "(de)mongoize" do
|
@@ -46,7 +53,7 @@ describe Mongoid::Geospatial::Point do
|
|
46
53
|
it "should calculate 3d distances by default" do
|
47
54
|
bar = Bar.create! location: [-73.77694444, 40.63861111 ]
|
48
55
|
bar2 = Bar.create! location: [-118.40, 33.94] #,:unit=>:mi, :spherical => true)
|
49
|
-
bar.location.distance(bar2.location
|
56
|
+
bar.location.distance(bar2.location).to_i.should be_within(1).of(3978262)
|
50
57
|
end
|
51
58
|
|
52
59
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid_geospatial
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-09-
|
13
|
+
date: 2012-09-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mongoid
|
@@ -143,7 +143,6 @@ files:
|
|
143
143
|
- lib/mongoid_geospatial.rb
|
144
144
|
- lib/mongoid_geospatial/extensions/core_ext.rb
|
145
145
|
- lib/mongoid_geospatial/extensions/rgeo_spherical_point_impl.rb
|
146
|
-
- lib/mongoid_geospatial/field_option.rb
|
147
146
|
- lib/mongoid_geospatial/fields/box.rb
|
148
147
|
- lib/mongoid_geospatial/fields/circle.rb
|
149
148
|
- lib/mongoid_geospatial/fields/geometry_field.rb
|
@@ -151,6 +150,8 @@ files:
|
|
151
150
|
- lib/mongoid_geospatial/fields/point.rb
|
152
151
|
- lib/mongoid_geospatial/fields/polygon.rb
|
153
152
|
- lib/mongoid_geospatial/geospatial.rb
|
153
|
+
- lib/mongoid_geospatial/helpers/delegate.rb
|
154
|
+
- lib/mongoid_geospatial/helpers/spatial.rb
|
154
155
|
- lib/mongoid_geospatial/version.rb
|
155
156
|
- lib/mongoid_geospatial/wrappers/georuby.rb
|
156
157
|
- lib/mongoid_geospatial/wrappers/rgeo.rb
|
@@ -158,10 +159,12 @@ files:
|
|
158
159
|
- spec/models/address.rb
|
159
160
|
- spec/models/alarm.rb
|
160
161
|
- spec/models/bar.rb
|
162
|
+
- spec/models/bus.rb
|
161
163
|
- spec/models/event.rb
|
162
164
|
- spec/models/farm.rb
|
163
165
|
- spec/models/person.rb
|
164
166
|
- spec/models/phone.rb
|
167
|
+
- spec/models/place.rb
|
165
168
|
- spec/models/river.rb
|
166
169
|
- spec/mongoid_geospatial/extensions/core_ext_spec.rb
|
167
170
|
- spec/mongoid_geospatial/field_option_spec.rb
|
@@ -171,6 +174,9 @@ files:
|
|
171
174
|
- spec/mongoid_geospatial/fields/point_spec.rb
|
172
175
|
- spec/mongoid_geospatial/fields/polygon_spec.rb
|
173
176
|
- spec/mongoid_geospatial/geospatial_spec.rb
|
177
|
+
- spec/mongoid_geospatial/helpers/delegate_spec.rb
|
178
|
+
- spec/mongoid_geospatial/helpers/spatial_spec.rb
|
179
|
+
- spec/mongoid_geospatial/wrappers/georuby_spec.rb
|
174
180
|
- spec/mongoid_geospatial/wrappers/rgeo_spec.rb
|
175
181
|
- spec/spec_helper.rb
|
176
182
|
- spec/support/authentication.rb
|
@@ -205,10 +211,12 @@ test_files:
|
|
205
211
|
- spec/models/address.rb
|
206
212
|
- spec/models/alarm.rb
|
207
213
|
- spec/models/bar.rb
|
214
|
+
- spec/models/bus.rb
|
208
215
|
- spec/models/event.rb
|
209
216
|
- spec/models/farm.rb
|
210
217
|
- spec/models/person.rb
|
211
218
|
- spec/models/phone.rb
|
219
|
+
- spec/models/place.rb
|
212
220
|
- spec/models/river.rb
|
213
221
|
- spec/mongoid_geospatial/extensions/core_ext_spec.rb
|
214
222
|
- spec/mongoid_geospatial/field_option_spec.rb
|
@@ -218,6 +226,9 @@ test_files:
|
|
218
226
|
- spec/mongoid_geospatial/fields/point_spec.rb
|
219
227
|
- spec/mongoid_geospatial/fields/polygon_spec.rb
|
220
228
|
- spec/mongoid_geospatial/geospatial_spec.rb
|
229
|
+
- spec/mongoid_geospatial/helpers/delegate_spec.rb
|
230
|
+
- spec/mongoid_geospatial/helpers/spatial_spec.rb
|
231
|
+
- spec/mongoid_geospatial/wrappers/georuby_spec.rb
|
221
232
|
- spec/mongoid_geospatial/wrappers/rgeo_spec.rb
|
222
233
|
- spec/spec_helper.rb
|
223
234
|
- spec/support/authentication.rb
|