spatial_features 0.0.3 → 0.0.4

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: c444116b157b420217177f529332308d161673e0
4
- data.tar.gz: d8bcc0fd9538d3620c2f49d82ba4c1b41b021eef
3
+ metadata.gz: 368274614091a12b36c62a95f362fc829ae452fa
4
+ data.tar.gz: 22e5db1774a8af7082adca889d1b7e74985d0cec
5
5
  SHA512:
6
- metadata.gz: c1fbda7000d70e4c3c11bde1d690cf12bca36eac846f919e844288b6b6d8e4252572bc79c0c31e01b2fde0ab5e3edaae949d2ff924504d4b349a8e23c6dc62da
7
- data.tar.gz: c8f900542d22c45ebb62c1fecb9a56eb8ab9ddc9883db5da809bfc57c6c79a35746e428829f2ad5a7c6458ee15e8b313b46dfe465f532df8da99d4bcf732f2db
6
+ metadata.gz: b0c77bf63c9696b8e483b48e7ad3ea550549cf6c50849360bd0af6ce329de8b9c0b71504b62373857c208838258cf9787c20efb974f59439fa4f6d6c9de560f4
7
+ data.tar.gz: 7cc3659ffb27e8fb8b28db603acb98ea320254fa36ae2a2bb99216ed34ba4143e865027b94ab1d51bfbfda742a6b3f3f8f37184fedd922dd8843e98a3ec93f2f
@@ -0,0 +1,4 @@
1
+ ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.tap do |klass|
2
+ # Use identity which does no casting
3
+ klass::OID.register_type('geography', klass::OID::Identity.new)
4
+ end
@@ -0,0 +1,4 @@
1
+ module SpatialFeatures
2
+ class Engine < ::Rails::Engine
3
+ end
4
+ end
@@ -82,7 +82,7 @@ module ArcGISKmzFeatures
82
82
  end
83
83
 
84
84
  def build_feature(feature_type, name, metadata, geom)
85
- Feature.new(spatial_model: self, name: name, metadata: metadata, feature_type: feature_type, geog: geom)
85
+ Feature.new(:spatial_model => self, :name => name, :metadata => metadata, :feature_type => feature_type, :geog => geom)
86
86
  end
87
87
 
88
88
  def open_kmz_url(url)
@@ -1,8 +1,6 @@
1
1
  class Feature < ActiveRecord::Base
2
2
  belongs_to :spatial_model, :polymorphic => :true
3
3
 
4
- self.rgeo_factory_generator = RGeo::Geos.factory_generator
5
-
6
4
  before_validation :sanitize_feature_type
7
5
  validates_presence_of :geog
8
6
  validate :geometry_is_valid
@@ -48,7 +46,7 @@ class Feature < ActiveRecord::Base
48
46
 
49
47
  def geometry_is_valid
50
48
  if geog?
51
- instance = self.class.unscoped.invalid.from("(SELECT ST_GeometryFromText('#{self.geog}') AS geog) #{self.class.table_name}").to_a.first
49
+ instance = self.class.unscoped.invalid.from("(SELECT '#{sanitize_input_for_sql(self.geog)}'::geometry AS geog) #{self.class.table_name}").to_a.first
52
50
  errors.add :geog, instance.invalid_geometry_message if instance
53
51
  end
54
52
  end
@@ -56,4 +54,8 @@ class Feature < ActiveRecord::Base
56
54
  def sanitize_feature_type
57
55
  self.feature_type = self.feature_type.to_s.strip.downcase
58
56
  end
57
+
58
+ def sanitize_input_for_sql(input)
59
+ self.class.send(:sanitize_sql_for_conditions, input)
60
+ end
59
61
  end
@@ -1,3 +1,3 @@
1
1
  module SpatialFeatures
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -1,6 +1,3 @@
1
- # GEMS
2
- require "activerecord-postgis-adapter"
3
-
4
1
  # LIB
5
2
  require 'spatial_features/caching'
6
3
  require 'spatial_features/venn_polygons'
@@ -14,6 +11,8 @@ require 'spatial_features/models/feature'
14
11
  require 'spatial_features/models/spatial_cache'
15
12
  require 'spatial_features/models/spatial_proximity'
16
13
 
14
+ require 'spatial_features/engine'
15
+
17
16
  module SpatialFeatures
18
17
  end
19
18
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spatial_features
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Wallace
@@ -25,20 +25,6 @@ dependencies:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '4.0'
28
- - !ruby/object:Gem::Dependency
29
- name: activerecord-postgis-adapter
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: '0'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- version: '0'
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: pg
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -63,9 +49,11 @@ files:
63
49
  - MIT-LICENSE
64
50
  - README.rdoc
65
51
  - Rakefile
52
+ - config/initializers/register_oids.rb
66
53
  - lib/spatial_features.rb
67
54
  - lib/spatial_features/caching.rb
68
55
  - lib/spatial_features/controller_helpers/spatial_extensions.rb
56
+ - lib/spatial_features/engine.rb
69
57
  - lib/spatial_features/has_spatial_features.rb
70
58
  - lib/spatial_features/import/arcgis_kmz_features.rb
71
59
  - lib/spatial_features/models/feature.rb