activerecord-postgis-adapter 2.2.2 → 3.0.0.beta1

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/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