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 ADDED
@@ -0,0 +1,4 @@
1
+ source :rubyforge
2
+
3
+ gem "GeoRuby"
4
+
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.add_dependency 'GeoRuby', '>= 1.3.4'
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.1.0
@@ -0,0 +1,9 @@
1
+ require 'postgis_adapter'
2
+ require 'dm-postgres-adapter'
3
+ module DataMapper
4
+ module Adapters
5
+ class PostgisAdapter < PostgresAdapter
6
+ include DataMapper::Migrations::PostgisAdapter
7
+ end
8
+ end
9
+ end
data/lib/dm-postgis.rb CHANGED
@@ -1,19 +1,19 @@
1
1
  require 'geo_ruby'
2
2
 
3
3
  module DataMapper
4
- module Types
5
- class DMGeometry < DataMapper::Type
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 self.dump(value, property)
12
+ def dump(value)
13
13
  value.nil? ? nil : value.as_hex_ewkb
14
14
  end
15
15
 
16
- def self.load(value, property)
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
- version: 1.0.1
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-02-16 00:00:00 +01:00
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
- version_requirement:
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
- version: 1.3.4
24
- version:
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.5
78
+ rubygems_version: 1.3.6
67
79
  signing_key:
68
80
  specification_version: 3
69
81
  summary: Geometry type for DataMapper