activerecord-postgis-adapter 0.6.3 → 0.6.4
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +6 -0
- data/README.rdoc +1 -1
- data/Version +1 -1
- data/lib/active_record/connection_adapters/postgis_adapter.rb +6 -0
- data/lib/active_record/connection_adapters/postgis_adapter/rails3/databases.rake +8 -1
- data/lib/active_record/connection_adapters/postgis_adapter/rails3/main_adapter.rb +9 -0
- data/lib/active_record/connection_adapters/postgis_adapter/rails4/databases.rake +5 -2
- data/lib/active_record/connection_adapters/postgis_adapter/rails4/main_adapter.rb +9 -0
- data/lib/active_record/connection_adapters/postgis_adapter/shared/common_adapter_methods.rb +0 -9
- data/test/tc_basic.rb +2 -2
- metadata +2 -2
data/History.rdoc
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
=== 0.6.4 / 2013-05-28
|
2
|
+
|
3
|
+
* Fixed a crash with array conversions in Rails 4. (Contributed by Christopher Bull)
|
4
|
+
* The gis setup task was broken in any Rails other than 3.2.x. Fixed (I think). (Reports by Rupert de Guzman and slbug)
|
5
|
+
* Raise a more useful exception for the (as yet) unsupported combination of Rails 4 and JRuby.
|
6
|
+
|
1
7
|
=== 0.6.3 / 2013-05-04
|
2
8
|
|
3
9
|
* Several fixes for compatibility with changes to Rails 4.0.0 rc1. (Reports by slbug and Victor Costan)
|
data/README.rdoc
CHANGED
@@ -26,7 +26,7 @@ The adapter has the following requirements.
|
|
26
26
|
* \ActiveRecord 3.0.3 or later. Earlier versions will not work. Rails 4.0 is supported on an experimental basis.
|
27
27
|
* The rgeo and rgeo-activerecord gems are also required.
|
28
28
|
|
29
|
-
As of this writing, the JDBC Postgres driver
|
29
|
+
As of this writing, the design of the JDBC Postgres driver for Rails 4 still appears to be in flux. Accordingly, I'm holding off on supporting Rails 4 on JRuby for now. Similarly, Rubinius receives limited testing and support.
|
30
30
|
|
31
31
|
=== Installation and Configuration
|
32
32
|
|
data/Version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.6.
|
1
|
+
0.6.4
|
@@ -74,6 +74,12 @@ when 3
|
|
74
74
|
require 'active_record/connection_adapters/postgis_adapter/shared/setup.rb'
|
75
75
|
require 'active_record/connection_adapters/postgis_adapter/rails3/create_connection'
|
76
76
|
when 4
|
77
|
+
|
78
|
+
# TEMP
|
79
|
+
if defined?(::RUBY_ENGINE) && ::RUBY_ENGINE == 'jruby'
|
80
|
+
raise "**** Sorry, activerecord-postgis-adapter does not yet support Rails 4 on JRuby ****"
|
81
|
+
end
|
82
|
+
|
77
83
|
require 'active_record/connection_adapters/postgis_adapter/shared/version.rb'
|
78
84
|
require 'active_record/connection_adapters/postgis_adapter/shared/common_adapter_methods.rb'
|
79
85
|
require 'active_record/connection_adapters/postgis_adapter/rails4/main_adapter.rb'
|
@@ -50,7 +50,14 @@ namespace :db do
|
|
50
50
|
namespace :gis do
|
51
51
|
desc "Setup PostGIS data in the database"
|
52
52
|
task :setup => [:load_config, :rails_env] do
|
53
|
-
|
53
|
+
if self.respond_to?(:configs_for_environment)
|
54
|
+
configs_ = configs_for_environment
|
55
|
+
else
|
56
|
+
environments_ = [::Rails.env]
|
57
|
+
environments_ << 'test' if ::Rails.env.development?
|
58
|
+
configs_ ::ActiveRecord::Base.configurations.values_at(*environments_).compact.reject{ |config_| config_['database'].blank? }
|
59
|
+
end
|
60
|
+
configs_.each { |config_| setup_gis(config_) }
|
54
61
|
end
|
55
62
|
end
|
56
63
|
end
|
@@ -63,6 +63,15 @@ module ActiveRecord # :nodoc:
|
|
63
63
|
end
|
64
64
|
|
65
65
|
|
66
|
+
def type_cast(value_, column_)
|
67
|
+
if ::RGeo::Feature::Geometry.check_type(value_)
|
68
|
+
::RGeo::WKRep::WKBGenerator.new(:hex_format => true, :type_format => :ewkb, :emit_ewkb_srid => true).generate(value_)
|
69
|
+
else
|
70
|
+
super
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
|
66
75
|
def columns(table_name_, name_=nil)
|
67
76
|
# FULL REPLACEMENT. RE-CHECK ON NEW VERSIONS.
|
68
77
|
# We needed to return a spatial column subclass.
|
@@ -40,8 +40,11 @@
|
|
40
40
|
namespace :db do
|
41
41
|
namespace :gis do
|
42
42
|
desc "Setup PostGIS data in the database"
|
43
|
-
task :setup => [:load_config
|
44
|
-
|
43
|
+
task :setup => [:load_config] do
|
44
|
+
environments_ = [::Rails.env]
|
45
|
+
environments_ << 'test' if ::Rails.env.development?
|
46
|
+
configs_ ::ActiveRecord::Base.configurations.values_at(*environments_).compact.reject{ |config_| config_['database'].blank? }
|
47
|
+
configs_.each do |config_|
|
45
48
|
::ActiveRecord::ConnectionAdapters::PostGISAdapter::PostGISDatabaseTasks.new(config_).setup_gis
|
46
49
|
end
|
47
50
|
end
|
@@ -64,6 +64,15 @@ module ActiveRecord # :nodoc:
|
|
64
64
|
end
|
65
65
|
|
66
66
|
|
67
|
+
def type_cast(value_, column_, array_member_=false)
|
68
|
+
if ::RGeo::Feature::Geometry.check_type(value_)
|
69
|
+
::RGeo::WKRep::WKBGenerator.new(:hex_format => true, :type_format => :ewkb, :emit_ewkb_srid => true).generate(value_)
|
70
|
+
else
|
71
|
+
super
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
|
67
76
|
def columns(table_name_, name_=nil)
|
68
77
|
# FULL REPLACEMENT. RE-CHECK ON NEW VERSIONS.
|
69
78
|
# We needed to return a spatial column subclass.
|
@@ -103,15 +103,6 @@ module ActiveRecord # :nodoc:
|
|
103
103
|
end
|
104
104
|
|
105
105
|
|
106
|
-
def type_cast(value_, column_)
|
107
|
-
if ::RGeo::Feature::Geometry.check_type(value_)
|
108
|
-
::RGeo::WKRep::WKBGenerator.new(:hex_format => true, :type_format => :ewkb, :emit_ewkb_srid => true).generate(value_)
|
109
|
-
else
|
110
|
-
super
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
|
115
106
|
end
|
116
107
|
|
117
108
|
|
data/test/tc_basic.rb
CHANGED
@@ -110,7 +110,7 @@ module RGeo
|
|
110
110
|
obj_.save!
|
111
111
|
id_ = obj_.id
|
112
112
|
obj2_ = klass_.find(id_)
|
113
|
-
assert_equal(@factory.point(1, 2), obj2_.latlon)
|
113
|
+
assert_equal(@factory.point(1.0, 2.0), obj2_.latlon)
|
114
114
|
assert_equal(3785, obj2_.latlon.srid)
|
115
115
|
assert_equal(true, ::RGeo::Geos.is_geos?(obj2_.latlon))
|
116
116
|
end
|
@@ -123,7 +123,7 @@ module RGeo
|
|
123
123
|
obj_.save!
|
124
124
|
id_ = obj_.id
|
125
125
|
obj2_ = klass_.find(id_)
|
126
|
-
assert_equal(@geographic_factory.point(1, 2), obj2_.latlon)
|
126
|
+
assert_equal(@geographic_factory.point(1.0, 2.0), obj2_.latlon)
|
127
127
|
assert_equal(4326, obj2_.latlon.srid)
|
128
128
|
assert_equal(false, ::RGeo::Geos.is_geos?(obj2_.latlon))
|
129
129
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-postgis-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rgeo-activerecord
|