dm-postgis 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|