dm-postgis 1.2.4 → 2.0.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/Gemfile +0 -1
- data/Gemfile.lock +38 -16
- data/README.md +26 -0
- data/dm-postgis.gemspec +15 -16
- data/lib/dm-postgis/pg_geometry.rb +29 -0
- data/lib/dm-postgis.rb +21 -23
- data/spec/pg_geometry_spec.rb +18 -0
- metadata +128 -96
- data/README.rdoc +0 -7
- data/lib/dm-postgis-adapter.rb +0 -9
- data/lib/postgis_adapter.rb +0 -28
- data/spec/dummy.rb +0 -30
- data/spec/fixtures/geo.rb +0 -7
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,33 +1,55 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dm-postgis (
|
4
|
+
dm-postgis (2.0.0)
|
5
5
|
GeoRuby (= 1.3.4)
|
6
|
-
dm-core (~> 1.
|
7
|
-
dm-postgres-adapter (~> 1.
|
6
|
+
dm-core (~> 1.2.0)
|
7
|
+
dm-postgres-adapter (~> 1.2.0)
|
8
8
|
rake
|
9
9
|
|
10
10
|
GEM
|
11
11
|
remote: http://rubygems.org/
|
12
12
|
specs:
|
13
13
|
GeoRuby (1.3.4)
|
14
|
-
addressable (2.2.
|
15
|
-
|
14
|
+
addressable (2.2.8)
|
15
|
+
columnize (0.3.6)
|
16
|
+
data_objects (0.10.10)
|
16
17
|
addressable (~> 2.1)
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
debugger (1.2.1)
|
19
|
+
columnize (>= 0.3.1)
|
20
|
+
debugger-linecache (~> 1.1.1)
|
21
|
+
debugger-ruby_core_source (~> 1.1.4)
|
22
|
+
debugger-linecache (1.1.1)
|
23
|
+
debugger-ruby_core_source (>= 1.1.1)
|
24
|
+
debugger-ruby_core_source (1.1.4)
|
25
|
+
diff-lcs (1.1.3)
|
26
|
+
dm-core (1.2.0)
|
27
|
+
addressable (~> 2.2.6)
|
28
|
+
dm-do-adapter (1.2.0)
|
29
|
+
data_objects (~> 0.10.6)
|
30
|
+
dm-core (~> 1.2.0)
|
31
|
+
dm-migrations (1.2.0)
|
32
|
+
dm-core (~> 1.2.0)
|
33
|
+
dm-postgres-adapter (1.2.0)
|
34
|
+
dm-do-adapter (~> 1.2.0)
|
35
|
+
do_postgres (~> 0.10.6)
|
36
|
+
do_postgres (0.10.10)
|
37
|
+
data_objects (= 0.10.10)
|
38
|
+
rake (0.9.2.2)
|
39
|
+
rspec (2.6.0)
|
40
|
+
rspec-core (~> 2.6.0)
|
41
|
+
rspec-expectations (~> 2.6.0)
|
42
|
+
rspec-mocks (~> 2.6.0)
|
43
|
+
rspec-core (2.6.4)
|
44
|
+
rspec-expectations (2.6.0)
|
45
|
+
diff-lcs (~> 1.1.2)
|
46
|
+
rspec-mocks (2.6.0)
|
28
47
|
|
29
48
|
PLATFORMS
|
30
49
|
ruby
|
31
50
|
|
32
51
|
DEPENDENCIES
|
52
|
+
debugger
|
53
|
+
dm-migrations (~> 1.2.0)
|
33
54
|
dm-postgis!
|
55
|
+
rspec (~> 2.6.0)
|
data/README.md
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# dm-postgis
|
2
|
+
|
3
|
+
Very simple type for datamapper allowing storing GeoRuby Geometries types in Postgis. This uses GeoRuby to do all the hard work. here's an example
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
|
7
|
+
class Foo
|
8
|
+
include DataMapper::Resource
|
9
|
+
|
10
|
+
property :id, Serial
|
11
|
+
property :name, Integer
|
12
|
+
property :geom, PostGISGeometry
|
13
|
+
end
|
14
|
+
|
15
|
+
# create a GeoRuby LineString
|
16
|
+
line = GeoRuby::SimpleFeatures::LineString.new(4236)
|
17
|
+
#add some points
|
18
|
+
[[12.12,13.14], [12.13,14.15], [12.15,16.17]].each{|x,y| line.points << GeoRuby::SimpleFeatures::Point.from_x_y(x,y)}
|
19
|
+
# stick it in the db!
|
20
|
+
f = Foo.create(:name => "random geometry", :geom => line)
|
21
|
+
```
|
22
|
+
|
23
|
+
|
24
|
+
## Copyright
|
25
|
+
|
26
|
+
Copyright (c) 2010 Roman Kamyk jr, 2012 svs. See LICENSE for details.
|
data/dm-postgis.gemspec
CHANGED
@@ -2,45 +2,44 @@
|
|
2
2
|
# Generated by jeweler
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
|
-
s.name = %q{dm-postgis}
|
6
|
-
s.version = "
|
7
|
-
|
5
|
+
s.name = %q{dm-postgis}
|
6
|
+
s.version = "2.0.0"
|
8
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
|
-
s.authors = ["Roman Kamyk jr"]
|
10
|
-
s.description = %q{Adds DMGeometry type to DataMapper that uses GeoRuby for (de)serializing Geometry types into Postgis}
|
11
|
-
s.email = %q{roman.kamyk@gmail.com}
|
8
|
+
s.authors = ["Roman Kamyk jr","svs"]
|
9
|
+
s.description = %q{Adds DMGeometry type to DataMapper that uses GeoRuby for (de)serializing Geometry types into Postgis.}
|
10
|
+
s.email = %q{roman.kamyk@gmail.com svs@svs.io}
|
12
11
|
s.extra_rdoc_files = [
|
13
12
|
"LICENSE",
|
14
|
-
"README.
|
13
|
+
"README.md"
|
15
14
|
]
|
16
15
|
s.files = [
|
17
16
|
".document",
|
18
17
|
"Gemfile",
|
19
18
|
"Gemfile.lock",
|
20
19
|
"LICENSE",
|
21
|
-
"README.
|
20
|
+
"README.md",
|
22
21
|
"Rakefile",
|
23
22
|
"VERSION",
|
24
23
|
"dm-postgis.gemspec",
|
25
|
-
"lib/dm-postgis-adapter.rb",
|
26
24
|
"lib/dm-postgis.rb",
|
27
|
-
"lib/
|
28
|
-
"spec/
|
29
|
-
"spec/fixtures/geo.rb"
|
25
|
+
"lib/dm-postgis/pg_geometry.rb",
|
26
|
+
"spec/pg_geometry_spec.rb",
|
30
27
|
]
|
31
28
|
s.homepage = %q{http://github.com/rkj/dm-postgis}
|
32
29
|
s.require_paths = ["lib"]
|
33
30
|
s.rubygems_version = %q{1.3.7}
|
34
31
|
s.summary = %q{Geometry type for DataMapper}
|
35
32
|
s.test_files = [
|
36
|
-
"spec/
|
37
|
-
"spec/fixtures/geo.rb"
|
33
|
+
"spec/pg_geometry_spec.rb",
|
38
34
|
]
|
39
35
|
|
40
|
-
dm_version = "~>1.
|
36
|
+
dm_version = "~>1.2.0"
|
37
|
+
s.add_dependency "GeoRuby", "1.3.4"
|
41
38
|
s.add_runtime_dependency "rake"
|
42
|
-
s.add_runtime_dependency "GeoRuby", "1.3.4"
|
43
39
|
s.add_runtime_dependency "dm-core", dm_version
|
44
40
|
s.add_runtime_dependency "dm-postgres-adapter", dm_version
|
41
|
+
s.add_development_dependency "dm-migrations", dm_version
|
42
|
+
s.add_development_dependency "rspec", "~>2.6.0"
|
43
|
+
s.add_development_dependency "debugger"
|
45
44
|
end
|
46
45
|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'dm-core'
|
2
|
+
require 'geo_ruby'
|
3
|
+
module DataMapper
|
4
|
+
class Property
|
5
|
+
class PostGISGeometry < Object
|
6
|
+
include GeoRuby::SimpleFeatures
|
7
|
+
|
8
|
+
def primitive?(value)
|
9
|
+
value.kind_of? Geometry
|
10
|
+
end
|
11
|
+
|
12
|
+
def dump(value)
|
13
|
+
value.nil? ? nil : value.as_hex_ewkb
|
14
|
+
end
|
15
|
+
|
16
|
+
def valid?(value, negated = false)
|
17
|
+
super || dump(value).kind_of?(::String)
|
18
|
+
end
|
19
|
+
|
20
|
+
def load(value)
|
21
|
+
value.nil? ? nil : Geometry.from_hex_ewkb(value)
|
22
|
+
end
|
23
|
+
|
24
|
+
def typecast_to_primitive(value)
|
25
|
+
load(value)
|
26
|
+
end
|
27
|
+
end # class Text
|
28
|
+
end # module Types
|
29
|
+
end # module DataMapper
|
data/lib/dm-postgis.rb
CHANGED
@@ -1,30 +1,28 @@
|
|
1
|
-
require 'geo_ruby'
|
2
1
|
require 'dm-core'
|
2
|
+
require 'dm-migrations'
|
3
|
+
require 'dm-postgres-adapter'
|
3
4
|
|
4
|
-
module DataMapper
|
5
|
-
class Property
|
6
|
-
class DMGeometry < Object
|
7
|
-
include GeoRuby::SimpleFeatures
|
8
5
|
|
9
|
-
def primitive?(value)
|
10
|
-
value.kind_of? Geometry
|
11
|
-
end
|
12
6
|
|
13
|
-
|
14
|
-
value.nil? ? nil : value.as_hex_ewkb
|
15
|
-
end
|
7
|
+
module DataMapper
|
16
8
|
|
17
|
-
|
18
|
-
|
19
|
-
|
9
|
+
class Property
|
10
|
+
autoload :PostGISGeometry, 'dm-postgis/pg_geometry'
|
11
|
+
end
|
20
12
|
|
21
|
-
|
22
|
-
|
23
|
-
|
13
|
+
module PostGIS
|
14
|
+
def self.included(base)
|
15
|
+
base.extend ClassMethods
|
16
|
+
end
|
24
17
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
end #
|
18
|
+
module ClassMethods
|
19
|
+
def type_map
|
20
|
+
super.merge(
|
21
|
+
DataMapper::Property::PostGISGeometry => { :primitive => 'GEOMETRY' }
|
22
|
+
).freeze
|
23
|
+
end # type_map
|
24
|
+
end # module ClassMethods
|
25
|
+
end # class PostGIS
|
26
|
+
end # module
|
27
|
+
|
28
|
+
DataMapper::Adapters::PostgresAdapter.send(:include,DataMapper::PostGIS)
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "dm-postgis" do
|
4
|
+
let(:line) { GeoRuby::SimpleFeatures::LineString.new(4236).tap {|l|
|
5
|
+
[[12.12,13.14], [12.13,14.15], [12.15,16.17]].each{|x,y| l.points << GeoRuby::SimpleFeatures::Point.from_x_y(x,y)}
|
6
|
+
}
|
7
|
+
}
|
8
|
+
describe "dump" do
|
9
|
+
subject { Foo.properties[:geom].dump(line) }
|
10
|
+
it { should == "01020000208C100000030000003D0AD7A3703D284048E17A14AE472A40C3F5285C8F422840CDCCCCCCCC4C2C40CDCCCCCCCC4C2840EC51B81E852B3040" }
|
11
|
+
end
|
12
|
+
describe "load" do
|
13
|
+
subject { Foo.properties[:geom].load("01020000208C100000030000003D0AD7A3703D284048E17A14AE472A40C3F5285C8F422840CDCCCCCCCC4C2C40CDCCCCCCCC4C2840EC51B81E852B3040") }
|
14
|
+
it { should == line }
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
metadata
CHANGED
@@ -1,140 +1,172 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-postgis
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 2
|
9
|
-
- 4
|
10
|
-
version: 1.2.4
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Roman Kamyk jr
|
9
|
+
- svs
|
14
10
|
autorequire:
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
requirement:
|
13
|
+
date: 2013-09-02 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: GeoRuby
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
22
18
|
none: false
|
23
|
-
requirements:
|
24
|
-
- -
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
|
27
|
-
segments:
|
28
|
-
- 0
|
29
|
-
version: "0"
|
19
|
+
requirements:
|
20
|
+
- - '='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.3.4
|
30
23
|
type: :runtime
|
31
|
-
name: rake
|
32
|
-
version_requirements: *id001
|
33
24
|
prerelease: false
|
34
|
-
|
35
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
26
|
none: false
|
37
|
-
requirements:
|
38
|
-
- -
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
hash: 19
|
41
|
-
segments:
|
42
|
-
- 1
|
43
|
-
- 3
|
44
|
-
- 4
|
27
|
+
requirements:
|
28
|
+
- - '='
|
29
|
+
- !ruby/object:Gem::Version
|
45
30
|
version: 1.3.4
|
31
|
+
- !ruby/object:Gem::Dependency
|
32
|
+
name: rake
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
46
39
|
type: :runtime
|
47
|
-
name: GeoRuby
|
48
|
-
version_requirements: *id002
|
49
40
|
prerelease: false
|
50
|
-
|
51
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
42
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
|
58
|
-
- 1
|
59
|
-
- 1
|
60
|
-
- 0
|
61
|
-
version: 1.1.0
|
62
|
-
type: :runtime
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
63
48
|
name: dm-core
|
64
|
-
|
65
|
-
prerelease: false
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
68
50
|
none: false
|
69
|
-
requirements:
|
70
|
-
- - ~>
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
|
73
|
-
segments:
|
74
|
-
- 1
|
75
|
-
- 1
|
76
|
-
- 0
|
77
|
-
version: 1.1.0
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.2.0
|
78
55
|
type: :runtime
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.2.0
|
63
|
+
- !ruby/object:Gem::Dependency
|
79
64
|
name: dm-postgres-adapter
|
80
|
-
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 1.2.0
|
71
|
+
type: :runtime
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - "~>"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 1.2.0
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
name: dm-migrations
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - "~>"
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 1.2.0
|
87
|
+
type: :development
|
88
|
+
prerelease: false
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 1.2.0
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: rspec
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 2.6.0
|
103
|
+
type: :development
|
81
104
|
prerelease: false
|
82
|
-
|
83
|
-
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.6.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: debugger
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
description: Adds DMGeometry type to DataMapper that uses GeoRuby for (de)serializing
|
128
|
+
Geometry types into Postgis.
|
129
|
+
email: roman.kamyk@gmail.com svs@svs.io
|
84
130
|
executables: []
|
85
|
-
|
86
131
|
extensions: []
|
87
|
-
|
88
|
-
extra_rdoc_files:
|
132
|
+
extra_rdoc_files:
|
89
133
|
- LICENSE
|
90
|
-
- README.
|
91
|
-
files:
|
92
|
-
- .document
|
134
|
+
- README.md
|
135
|
+
files:
|
136
|
+
- ".document"
|
93
137
|
- Gemfile
|
94
138
|
- Gemfile.lock
|
95
139
|
- LICENSE
|
96
|
-
- README.
|
140
|
+
- README.md
|
97
141
|
- Rakefile
|
98
142
|
- VERSION
|
99
143
|
- dm-postgis.gemspec
|
100
|
-
- lib/dm-postgis-adapter.rb
|
101
144
|
- lib/dm-postgis.rb
|
102
|
-
- lib/
|
103
|
-
- spec/
|
104
|
-
- spec/fixtures/geo.rb
|
145
|
+
- lib/dm-postgis/pg_geometry.rb
|
146
|
+
- spec/pg_geometry_spec.rb
|
105
147
|
homepage: http://github.com/rkj/dm-postgis
|
106
148
|
licenses: []
|
107
|
-
|
108
149
|
post_install_message:
|
109
150
|
rdoc_options: []
|
110
|
-
|
111
|
-
require_paths:
|
151
|
+
require_paths:
|
112
152
|
- lib
|
113
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
153
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
114
154
|
none: false
|
115
|
-
requirements:
|
155
|
+
requirements:
|
116
156
|
- - ">="
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
|
119
|
-
|
120
|
-
- 0
|
121
|
-
version: "0"
|
122
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
160
|
none: false
|
124
|
-
requirements:
|
161
|
+
requirements:
|
125
162
|
- - ">="
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
|
128
|
-
segments:
|
129
|
-
- 0
|
130
|
-
version: "0"
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '0'
|
131
165
|
requirements: []
|
132
|
-
|
133
166
|
rubyforge_project:
|
134
|
-
rubygems_version: 1.8.
|
167
|
+
rubygems_version: 1.8.25
|
135
168
|
signing_key:
|
136
169
|
specification_version: 3
|
137
170
|
summary: Geometry type for DataMapper
|
138
|
-
test_files:
|
139
|
-
- spec/
|
140
|
-
- spec/fixtures/geo.rb
|
171
|
+
test_files:
|
172
|
+
- spec/pg_geometry_spec.rb
|
data/README.rdoc
DELETED
data/lib/dm-postgis-adapter.rb
DELETED
data/lib/postgis_adapter.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'do_postgres'
|
2
|
-
|
3
|
-
module DataObjects
|
4
|
-
module Postgis
|
5
|
-
include Postgres
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
require 'dm-migrations/adapters/dm-postgres-adapter'
|
10
|
-
module DataMapper
|
11
|
-
module Migrations
|
12
|
-
module PostgisAdapter
|
13
|
-
include DataMapper::Migrations::PostgresAdapter
|
14
|
-
def self.included(base)
|
15
|
-
base.extend DataObjectsAdapter::ClassMethods
|
16
|
-
base.extend ClassMethods
|
17
|
-
end
|
18
|
-
|
19
|
-
module ClassMethods
|
20
|
-
def type_map
|
21
|
-
@type_map ||= super.merge(
|
22
|
-
DataMapper::Property::DMGeometry => { :primitive => 'GEOMETRY' }
|
23
|
-
).freeze
|
24
|
-
end # type_map
|
25
|
-
end # module ClassMethods
|
26
|
-
end # class PostgresAdapter
|
27
|
-
end # module Migration
|
28
|
-
end # module
|
data/spec/dummy.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'dm-core/spec/setup'
|
2
|
-
require 'dm-core/spec/lib/adapter_helpers'
|
3
|
-
require 'dm-migrations'
|
4
|
-
|
5
|
-
ENV['ADAPTER']='postgres'
|
6
|
-
DataMapper::Spec.setup
|
7
|
-
|
8
|
-
describe "dm-postgis" do
|
9
|
-
it "should load" do
|
10
|
-
require 'dm-postgis'
|
11
|
-
end
|
12
|
-
|
13
|
-
describe "should allow DMGeometry property" do
|
14
|
-
require 'dm-postgis'
|
15
|
-
require 'fixtures/geo'
|
16
|
-
it 'should work for empty values' do
|
17
|
-
TestTable.new.should_not be_nil
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'should work for positions' do
|
21
|
-
g = GeoRuby::SimpleFeatures::Point.from_x_y(1, 2)
|
22
|
-
t = TestTable.new(:position => g)
|
23
|
-
t.save.should be(true)
|
24
|
-
t.reload
|
25
|
-
t.position.x.should == 1
|
26
|
-
t.position.y.should == 2
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|