activerecord-mysql2rgeo-adapter 6.1.1 → 7.0.0

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
  SHA256:
3
- metadata.gz: fc08589944b261d0dca6908f375c8453eae76a29ff3da7a6c76f264fac0400dd
4
- data.tar.gz: a3682118ef63d2605688f0f2c81713af2c58987a42f40425baff6f58326bf059
3
+ metadata.gz: b51d6b8bbeef0f4003a744ff290caf196e9b244764e1dc0c213e686625f40c59
4
+ data.tar.gz: 0e8e02728246d292e72bb5dd248ffa47a06a601acbde684551a9c098a1a96286
5
5
  SHA512:
6
- metadata.gz: 6a791e518607f77b3fa3affcca3402498d669d8011613c33e811db57278096382b87897a1477b8b18a66c4175ecd419ed161dd57a050b837b6e160943108158a
7
- data.tar.gz: 03d6461ef1db07a0deedba7d5843bf6e9a4a00927de6f5e3b6c1ecf8834e1c95494d6ff03b56d0b08aeab675a4e39cea1e7623808507e5b4c62270f3e540a82f
6
+ metadata.gz: 4ffae8e8ff77dccdeff97ac7eaaa8167dd42bbc8fe3e51b0240973e729b453d5d99a4b56164bfc2538059e7ad9a0b5089dc8c14472c8469f8e21c3246986ce9b
7
+ data.tar.gz: 6eb7aacd144536fe15a7068f5731e1d0f00d44b7d6044f94ae83254df5b1a684c579d0ab455d2ad2a2fde715b4594e1893229e25c90beac3389b4de137fb8725
@@ -26,42 +26,6 @@ module ActiveRecord
26
26
  super
27
27
  end
28
28
 
29
- # override
30
- def native_database_types
31
- # Add spatial types
32
- # Reference: https://dev.mysql.com/doc/refman/5.6/en/spatial-type-overview.html
33
- super.merge(
34
- geometry: { name: "geometry" },
35
- geometrycollection: { name: "geometrycollection" },
36
- linestring: { name: "linestring" },
37
- multi_line_string: { name: "multilinestring" },
38
- multi_point: { name: "multipoint" },
39
- multi_polygon: { name: "multipolygon" },
40
- spatial: { name: "geometry" },
41
- point: { name: "point" },
42
- polygon: { name: "polygon" }
43
- )
44
- end
45
-
46
- def initialize_type_map(m = type_map)
47
- super
48
-
49
- %w[
50
- geometry
51
- geometrycollection
52
- point
53
- linestring
54
- polygon
55
- multipoint
56
- multilinestring
57
- multipolygon
58
- ].each do |geo_type|
59
- m.register_type(geo_type) do |sql_type|
60
- Type::Spatial.new(sql_type)
61
- end
62
- end
63
- end
64
-
65
29
  private
66
30
 
67
31
  # override
@@ -3,7 +3,7 @@
3
3
  module ActiveRecord
4
4
  module ConnectionAdapters
5
5
  module Mysql2Rgeo
6
- VERSION = "6.1.1"
6
+ VERSION = "7.0.0"
7
7
  end
8
8
  end
9
9
  end
@@ -80,6 +80,50 @@ module ActiveRecord
80
80
  DEFAULT_SRID
81
81
  end
82
82
 
83
+ def native_database_types
84
+ # Add spatial types
85
+ # Reference: https://dev.mysql.com/doc/refman/5.6/en/spatial-type-overview.html
86
+ super.merge(
87
+ geometry: { name: "geometry" },
88
+ geometrycollection: { name: "geometrycollection" },
89
+ linestring: { name: "linestring" },
90
+ multi_line_string: { name: "multilinestring" },
91
+ multi_point: { name: "multipoint" },
92
+ multi_polygon: { name: "multipolygon" },
93
+ spatial: { name: "geometry" },
94
+ point: { name: "point" },
95
+ polygon: { name: "polygon" }
96
+ )
97
+ end
98
+
99
+ class << self
100
+
101
+ private
102
+ def initialize_type_map(m)
103
+ super
104
+
105
+ %w[
106
+ geometry
107
+ geometrycollection
108
+ point
109
+ linestring
110
+ polygon
111
+ multipoint
112
+ multilinestring
113
+ multipolygon
114
+ ].each do |geo_type|
115
+ m.register_type(geo_type) do |sql_type|
116
+ Type::Spatial.new(sql_type.to_s)
117
+ end
118
+ end
119
+ end
120
+ end
121
+
122
+ TYPE_MAP = Type::TypeMap.new.tap { |m| initialize_type_map(m) }
123
+ TYPE_MAP_WITH_BOOLEAN = Type::TypeMap.new(TYPE_MAP).tap do |m|
124
+ m.register_type %r(^tinyint\(1\))i, Type::Boolean.new
125
+ end
126
+
83
127
  def supports_spatial?
84
128
  !mariadb? && version >= "5.7.6"
85
129
  end
@@ -92,6 +136,11 @@ module ActiveRecord
92
136
  super
93
137
  end
94
138
  end
139
+
140
+ private
141
+ def type_map
142
+ emulate_booleans ? TYPE_MAP_WITH_BOOLEAN : TYPE_MAP
143
+ end
95
144
  end
96
145
  end
97
146
  end
@@ -40,7 +40,9 @@ module ActiveRecord
40
40
  end
41
41
 
42
42
  def spatial_factory
43
- @spatial_factory ||=
43
+ @spatial_factories ||= {}
44
+
45
+ @spatial_factories[@srid] ||=
44
46
  RGeo::ActiveRecord::SpatialFactoryStore.instance.factory(
45
47
  geo_type: @geo_type,
46
48
  sql_type: @sql_type,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-mysql2rgeo-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.1
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yongdae Hwang
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '6.1'
19
+ version: 7.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '6.1'
26
+ version: 7.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rgeo-activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -127,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: 2.5.0
130
+ version: 2.7.0
131
131
  required_rubygems_version: !ruby/object:Gem::Requirement
132
132
  requirements:
133
133
  - - ">="