activerecord-postgis-adapter 2.2.2 → 3.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
data/test/test_helper.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'minitest/autorun'
2
2
  require 'minitest/pride'
3
+ require 'mocha/mini_test'
3
4
  require 'rgeo/active_record/adapter_test_helper'
4
5
 
5
6
  begin
@@ -7,3 +8,22 @@ begin
7
8
  rescue LoadError
8
9
  # ignore
9
10
  end
11
+
12
+ class ActiveSupport::TestCase
13
+ self.test_order = :sorted
14
+
15
+ DATABASE_CONFIG_PATH = File.dirname(__FILE__) << '/database.yml'
16
+
17
+ class SpatialModel < ActiveRecord::Base
18
+ establish_connection YAML.load_file(DATABASE_CONFIG_PATH)
19
+ end
20
+
21
+ def factory
22
+ RGeo::Cartesian.preferred_factory(srid: 3785)
23
+ end
24
+
25
+ def geographic_factory
26
+ RGeo::Geographic.spherical_factory(srid: 4326)
27
+ end
28
+
29
+ end
data/test/type_test.rb ADDED
@@ -0,0 +1,26 @@
1
+ require "test_helper"
2
+
3
+ class TypeTest < ActiveSupport::TestCase
4
+ def test_parse_simple_type
5
+ assert_equal ["geometry", 0, false, false], spatial.parse_sql_type("geometry")
6
+ assert_equal ["geography", 0, false, false], spatial.parse_sql_type("geography")
7
+ end
8
+
9
+ def test_parse_geo_type
10
+ assert_equal ["Point", 0, false, false], spatial.parse_sql_type("geography(Point)")
11
+ assert_equal ["Polygon", 0, false, false], spatial.parse_sql_type("geography(Polygon)")
12
+ end
13
+
14
+ def test_parse_type_with_srid
15
+ assert_equal ["Point", 4326, false, false], spatial.parse_sql_type("geography(Point,4326)")
16
+ assert_equal ["Polygon", 4327, true, false], spatial.parse_sql_type("geography(PolygonZ,4327)")
17
+ assert_equal ["Point", 4328, false, true], spatial.parse_sql_type("geography(PointM,4328)")
18
+ assert_equal ["Point", 4329, true, true], spatial.parse_sql_type("geography(PointZM,4329)")
19
+ end
20
+
21
+ private
22
+
23
+ def spatial
24
+ ActiveRecord::ConnectionAdapters::PostGISAdapter::OID::Spatial
25
+ end
26
+ end
metadata CHANGED
@@ -1,77 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-postgis-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 3.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Azuma, Tee Parham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-17 00:00:00.000000000 Z
11
+ date: 2015-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 4.0.0
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: 4.2.0
19
+ version: '4.2'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 4.0.0
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: 4.2.0
26
+ version: '4.2'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: rgeo-activerecord
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '1.2'
33
+ version: '2.1'
40
34
  type: :runtime
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
38
  - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '1.2'
40
+ version: '2.1'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: rake
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
45
  - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: '10.2'
47
+ version: '10.3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.4'
54
62
  type: :development
55
63
  prerelease: false
56
64
  version_requirements: !ruby/object:Gem::Requirement
57
65
  requirements:
58
66
  - - "~>"
59
67
  - !ruby/object:Gem::Version
60
- version: '10.2'
68
+ version: '5.4'
61
69
  - !ruby/object:Gem::Dependency
62
70
  name: mocha
63
71
  requirement: !ruby/object:Gem::Requirement
64
72
  requirements:
65
73
  - - "~>"
66
74
  - !ruby/object:Gem::Version
67
- version: '1.0'
75
+ version: '1.1'
68
76
  type: :development
69
77
  prerelease: false
70
78
  version_requirements: !ruby/object:Gem::Requirement
71
79
  requirements:
72
80
  - - "~>"
73
81
  - !ruby/object:Gem::Version
74
- version: '1.0'
82
+ version: '1.1'
75
83
  - !ruby/object:Gem::Dependency
76
84
  name: appraisal
77
85
  requirement: !ruby/object:Gem::Requirement
@@ -97,12 +105,13 @@ files:
97
105
  - LICENSE.txt
98
106
  - lib/active_record/connection_adapters/postgis_adapter.rb
99
107
  - lib/active_record/connection_adapters/postgis_adapter/arel_tosql.rb
100
- - lib/active_record/connection_adapters/postgis_adapter/common_adapter_methods.rb
101
108
  - lib/active_record/connection_adapters/postgis_adapter/create_connection.rb
102
109
  - lib/active_record/connection_adapters/postgis_adapter/databases.rake
103
110
  - lib/active_record/connection_adapters/postgis_adapter/main_adapter.rb
111
+ - lib/active_record/connection_adapters/postgis_adapter/oid/spatial.rb
104
112
  - lib/active_record/connection_adapters/postgis_adapter/postgis_database_tasks.rb
105
113
  - lib/active_record/connection_adapters/postgis_adapter/railtie.rb
114
+ - lib/active_record/connection_adapters/postgis_adapter/schema_statements.rb
106
115
  - lib/active_record/connection_adapters/postgis_adapter/setup.rb
107
116
  - lib/active_record/connection_adapters/postgis_adapter/spatial_column.rb
108
117
  - lib/active_record/connection_adapters/postgis_adapter/spatial_column_info.rb
@@ -119,6 +128,7 @@ files:
119
128
  - test/spatial_queries_test.rb
120
129
  - test/tasks_test.rb
121
130
  - test/test_helper.rb
131
+ - test/type_test.rb
122
132
  homepage: http://github.com/rgeo/activerecord-postgis-adapter
123
133
  licenses:
124
134
  - BSD
@@ -134,12 +144,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
134
144
  version: 1.9.3
135
145
  required_rubygems_version: !ruby/object:Gem::Requirement
136
146
  requirements:
137
- - - ">="
147
+ - - ">"
138
148
  - !ruby/object:Gem::Version
139
- version: '0'
149
+ version: 1.3.1
140
150
  requirements: []
141
151
  rubyforge_project:
142
- rubygems_version: 2.4.6
152
+ rubygems_version: 2.4.5
143
153
  signing_key:
144
154
  specification_version: 4
145
155
  summary: ActiveRecord adapter for PostGIS, based on RGeo.
@@ -153,4 +163,5 @@ test_files:
153
163
  - test/spatial_queries_test.rb
154
164
  - test/tasks_test.rb
155
165
  - test/test_helper.rb
166
+ - test/type_test.rb
156
167
  has_rdoc:
@@ -1,53 +0,0 @@
1
- module ActiveRecord # :nodoc:
2
- module ConnectionAdapters # :nodoc:
3
- module PostGISAdapter # :nodoc:
4
- SPATIAL_COLUMN_CONSTRUCTORS = ::RGeo::ActiveRecord::DEFAULT_SPATIAL_COLUMN_CONSTRUCTORS.merge(
5
- geography: { type: 'geometry', geographic: true }
6
- )
7
-
8
- # http://postgis.17.x6.nabble.com/Default-SRID-td5001115.html
9
- DEFAULT_SRID = 0
10
-
11
- module CommonAdapterMethods # :nodoc:
12
- def set_rgeo_factory_settings(factory_settings)
13
- @rgeo_factory_settings = factory_settings
14
- end
15
-
16
- def adapter_name
17
- PostGISAdapter::ADAPTER_NAME
18
- end
19
-
20
- def spatial_column_constructor(name)
21
- PostGISAdapter::SPATIAL_COLUMN_CONSTRUCTORS[name]
22
- end
23
-
24
- def postgis_lib_version
25
- @postgis_lib_version ||= select_value("SELECT PostGIS_Lib_Version()")
26
- end
27
-
28
- def default_srid
29
- DEFAULT_SRID
30
- end
31
-
32
- def srs_database_columns
33
- {
34
- auth_name_column: 'auth_name',
35
- auth_srid_column: 'auth_srid',
36
- proj4text_column: 'proj4text',
37
- srtext_column: 'srtext',
38
- }
39
- end
40
-
41
- def quote(value, column=nil)
42
- if ::RGeo::Feature::Geometry.check_type(value)
43
- "'#{::RGeo::WKRep::WKBGenerator.new(hex_format: true, type_format: :ewkb, emit_ewkb_srid: true).generate(value)}'"
44
- elsif value.is_a?(::RGeo::Cartesian::BoundingBox)
45
- "'#{value.min_x},#{value.min_y},#{value.max_x},#{value.max_y}'::box"
46
- else
47
- super
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end