activerecord-postgis-adapter 3.0.0.beta2 → 3.0.0.beta3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4134b225eb23433b9805a83ec978ae7fe5c9ee5b
4
- data.tar.gz: 7cd3ca0bea4ccd9c6b51a0e6eb646e82acc55eb0
3
+ metadata.gz: b0d04c38823d342013ab3f6499e63555c327ae7d
4
+ data.tar.gz: 431f6916e008760398744c063d50732dc6474eea
5
5
  SHA512:
6
- metadata.gz: fff96e4437bda957061ef02a4ef9bcb7bd34463387947f39f4de46efddd00212724f54977460f6e796f938b51ef0ae840fde8f45df974a61f048d9304c05cd4f
7
- data.tar.gz: ed3977486ef32fe77dc7e62bbfff5ed96af537f8f6c9509218a3ea3cb25770d5e05d86fa57b006fce32a65994185b951f8287b1a03f92d572684ed2aa304a6c3
6
+ metadata.gz: f54ee77aca056fd2ab87c0af53782feb597e157a70862e23e509e4df17feca439b07de46d384e77a04e067089e78b230d186d9064a76cfe0268f2e3d640593fb
7
+ data.tar.gz: 065f3afcfbd9fc945125f4dcf7270cfa5a82e4cde7a9d9174ed05cb545a14f0a391c6b63ba614791ac50a082420f1efca0bc2d6c8c7060b91386f19f78663ad6
@@ -12,10 +12,7 @@ end
12
12
 
13
13
  # :stopdoc:
14
14
 
15
- require 'active_record'
16
15
  require 'active_record/connection_adapters/postgresql_adapter'
17
- require 'rgeo/active_record'
18
-
19
16
  require 'active_record/connection_adapters/postgis_adapter/version'
20
17
  require 'active_record/connection_adapters/postgis_adapter/schema_statements'
21
18
  require 'active_record/connection_adapters/postgis_adapter/main_adapter'
@@ -11,7 +11,12 @@ module ActiveRecord
11
11
  # "geometry(Geography,4326)"
12
12
  def initialize(oid, sql_type)
13
13
  @geo_type, @srid, @has_z, @has_m = self.class.parse_sql_type(sql_type)
14
- @factory_generator = RGeo::Geographic.spherical_factory(srid: 4326) if oid =~ /geography/
14
+ if oid =~ /geography/
15
+ factory_opts = {srid: (@srid || 4326)}
16
+ factory_opts[:has_z_coordinate] = @has_z
17
+ factory_opts[:has_m_coordinate] = @has_m
18
+ @factory_generator = RGeo::Geographic.spherical_factory(factory_opts)
19
+ end
15
20
  end
16
21
 
17
22
  # sql_type: geometry, geometry(Point), geometry(Point,4326), ...
@@ -87,7 +92,6 @@ module ActiveRecord
87
92
  return if value.nil?
88
93
  RGeo::WKRep::WKBParser.new(@factory_generator, support_ewkb: true).parse(value)
89
94
  rescue RGeo::Error::ParseError
90
- puts "\ncast failed!!\n\n"
91
95
  nil
92
96
  end
93
97
 
@@ -30,6 +30,7 @@ module ActiveRecord
30
30
  cast_type,
31
31
  sql_type,
32
32
  null,
33
+ default_function,
33
34
  column_info)
34
35
  end
35
36
 
@@ -9,7 +9,7 @@ module ActiveRecord # :nodoc:
9
9
  # cast_type example classes:
10
10
  # OID::Spatial
11
11
  # OID::Integer
12
- def initialize(factory_settings, table_name, name, default, cast_type, sql_type = nil, null = true, opts = nil)
12
+ def initialize(factory_settings, table_name, name, default, cast_type, sql_type = nil, null = true, default_function = nil, opts = nil)
13
13
  @factory_settings = factory_settings
14
14
  @table_name = table_name
15
15
  @geographic = !!(sql_type =~ /geography\(/i)
@@ -29,7 +29,7 @@ module ActiveRecord # :nodoc:
29
29
  # @geometric_type = geo_type_from_sql_type(sql_type)
30
30
  build_from_sql_type(sql_type)
31
31
  end
32
- super(name, default, cast_type, sql_type, null)
32
+ super(name, default, cast_type, sql_type, null, default_function)
33
33
  if spatial?
34
34
  if @srid
35
35
  @limit = { srid: @srid, type: geometric_type.type_name.underscore }
@@ -1,7 +1,7 @@
1
1
  module ActiveRecord
2
2
  module ConnectionAdapters
3
3
  module PostGISAdapter
4
- VERSION = '3.0.0.beta2'.freeze
4
+ VERSION = '3.0.0.beta3'.freeze
5
5
  end
6
6
  end
7
7
  end
data/test/ddl_test.rb CHANGED
@@ -197,7 +197,17 @@ class DDLTest < ActiveSupport::TestCase # :nodoc:
197
197
  assert_equal RGeo::Feature::Point, klass.columns.last.geometric_type
198
198
  end
199
199
 
200
- def test_create_geometry_with_options
200
+ def test_create_geometry_using_shortcut_with_srid
201
+ klass.connection.create_table(:spatial_models, force: true) do |t|
202
+ t.geometry 'latlon', srid: 4326
203
+ end
204
+ klass.reset_column_information
205
+ col = klass.columns.last
206
+ assert_equal RGeo::Feature::Geometry, col.geometric_type
207
+ assert_equal({ srid: 4326, type: 'geometry' }, col.limit)
208
+ end
209
+
210
+ def test_create_polygon_with_options
201
211
  klass.connection.create_table(:spatial_models, force: true) do |t|
202
212
  t.column 'region', :st_polygon, has_m: true, srid: 3785
203
213
  end
data/test/tasks_test.rb CHANGED
@@ -35,10 +35,12 @@ class TasksTest < ActiveSupport::TestCase # :nodoc:
35
35
  setup_database_tasks
36
36
  connection.create_table(:spatial_test, force: true) do |t|
37
37
  t.st_point "latlon", geographic: true
38
+ t.geometry "geo_col", srid: 4326
38
39
  end
39
40
  ActiveRecord::Tasks::DatabaseTasks.structure_dump(NEW_CONNECTION, tmp_sql_filename)
40
41
  data = File.read(tmp_sql_filename)
41
42
  assert(data.index('latlon geography(Point,4326)'))
43
+ assert(data.index('geo_col geometry(Geometry,4326)'))
42
44
  end
43
45
 
44
46
  def test_index_sql_dump
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-postgis-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.beta2
4
+ version: 3.0.0.beta3
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-02-24 00:00:00.000000000 Z
11
+ date: 2015-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -149,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  version: 1.3.1
150
150
  requirements: []
151
151
  rubyforge_project:
152
- rubygems_version: 2.4.5
152
+ rubygems_version: 2.4.6
153
153
  signing_key:
154
154
  specification_version: 4
155
155
  summary: ActiveRecord adapter for PostGIS, based on RGeo.