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

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