dm-postgis 1.0.1 → 1.1.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 +4 -0
- data/Rakefile +2 -1
- data/VERSION +1 -1
- data/lib/dm-postgis-adapter.rb +9 -0
- data/lib/dm-postgis.rb +6 -14
- data/lib/postgis_adapter.rb +28 -0
- metadata +22 -10
data/Gemfile
ADDED
data/Rakefile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'rake'
|
3
|
+
require 'bundler'
|
3
4
|
|
4
5
|
begin
|
5
6
|
require 'jeweler'
|
@@ -10,7 +11,7 @@ begin
|
|
10
11
|
gem.email = "roman.kamyk@gmail.com"
|
11
12
|
gem.homepage = "http://github.com/rkj/dm-postgis"
|
12
13
|
gem.authors = ["Roman Kamyk jr"]
|
13
|
-
gem.
|
14
|
+
gem.add_bundler_dependencies
|
14
15
|
end
|
15
16
|
Jeweler::GemcutterTasks.new
|
16
17
|
rescue LoadError
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0
|
1
|
+
1.1.0
|
data/lib/dm-postgis.rb
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
require 'geo_ruby'
|
2
2
|
|
3
3
|
module DataMapper
|
4
|
-
|
5
|
-
class DMGeometry <
|
4
|
+
class Property
|
5
|
+
class DMGeometry < Property
|
6
6
|
include GeoRuby::SimpleFeatures
|
7
|
-
|
8
|
-
primitive Text
|
7
|
+
primitive ::Object
|
9
8
|
default nil
|
9
|
+
# length nil
|
10
10
|
lazy false
|
11
11
|
|
12
|
-
def
|
12
|
+
def dump(value)
|
13
13
|
value.nil? ? nil : value.as_hex_ewkb
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
16
|
+
def load(value)
|
17
17
|
value.nil? ? nil : Geometry.from_hex_ewkb(value)
|
18
18
|
end
|
19
19
|
|
@@ -23,12 +23,4 @@ module DataMapper
|
|
23
23
|
end
|
24
24
|
end # class Text
|
25
25
|
end # module Types
|
26
|
-
|
27
|
-
class Property
|
28
|
-
PRIMITIVES << DataMapper::Types::DMGeometry
|
29
|
-
def typecast_to_geometry(raw_value)
|
30
|
-
return nil if raw_value.nil? || raw_value.empty?
|
31
|
-
return GeoRuby::SimpleFeatures::Geometry.from_hex_ewkb(raw_value)
|
32
|
-
end
|
33
|
-
end
|
34
26
|
end # module DataMapper
|
@@ -0,0 +1,28 @@
|
|
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
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-postgis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 1.1.0
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Roman Kamyk jr
|
@@ -9,19 +14,21 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-06-16 00:00:00 +02:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
|
-
name: GeoRuby
|
17
21
|
type: :runtime
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
name: GeoRuby
|
23
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
25
|
- - ">="
|
22
26
|
- !ruby/object:Gem::Version
|
23
|
-
|
24
|
-
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
version: "0"
|
30
|
+
requirement: *id001
|
31
|
+
prerelease: false
|
25
32
|
description: Adds DMGeometry type to DataMapper that uses GeoRuby for (de)serializing Geometry types into Postgis
|
26
33
|
email: roman.kamyk@gmail.com
|
27
34
|
executables: []
|
@@ -34,11 +41,14 @@ extra_rdoc_files:
|
|
34
41
|
files:
|
35
42
|
- .document
|
36
43
|
- .gitignore
|
44
|
+
- Gemfile
|
37
45
|
- LICENSE
|
38
46
|
- README.rdoc
|
39
47
|
- Rakefile
|
40
48
|
- VERSION
|
49
|
+
- lib/dm-postgis-adapter.rb
|
41
50
|
- lib/dm-postgis.rb
|
51
|
+
- lib/postgis_adapter.rb
|
42
52
|
has_rdoc: true
|
43
53
|
homepage: http://github.com/rkj/dm-postgis
|
44
54
|
licenses: []
|
@@ -52,18 +62,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
52
62
|
requirements:
|
53
63
|
- - ">="
|
54
64
|
- !ruby/object:Gem::Version
|
65
|
+
segments:
|
66
|
+
- 0
|
55
67
|
version: "0"
|
56
|
-
version:
|
57
68
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
69
|
requirements:
|
59
70
|
- - ">="
|
60
71
|
- !ruby/object:Gem::Version
|
72
|
+
segments:
|
73
|
+
- 0
|
61
74
|
version: "0"
|
62
|
-
version:
|
63
75
|
requirements: []
|
64
76
|
|
65
77
|
rubyforge_project:
|
66
|
-
rubygems_version: 1.3.
|
78
|
+
rubygems_version: 1.3.6
|
67
79
|
signing_key:
|
68
80
|
specification_version: 3
|
69
81
|
summary: Geometry type for DataMapper
|