armg 0.10.0 → 0.12.0

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
  SHA256:
3
- metadata.gz: 6f21d8219a8753c5343896f6bac0a9095dcc3b041e2081c2b2f429e5236c2b8c
4
- data.tar.gz: 1537948342121354504c2ae87f7b71271b8407bb2fa23c5f80d8551b81d307ca
3
+ metadata.gz: 68bfd43f001a1c4d47d2269bb3261bc5d9c57c391481b96ae93507f6b9d953e6
4
+ data.tar.gz: cb13fca3edee634332b3da9f0d0538ee94f592b6c6ec054ca20992113b74f06e
5
5
  SHA512:
6
- metadata.gz: 613068eaf698bba0925b0b50a07d91cb070e9b6056b42e1662ab5e9a795738f25c0b5296b43a66280c1506bd56dd76f63fa1cbc3fa70e32ca85966fb862f5e39
7
- data.tar.gz: c563b9cd4ee699b03f449773e896db1d004d3cc90abedebe4a2c2f7188acc4e335a51d58350e16885ac139fda90207f9fa9bbdea37c0730b9bea60c8c966cded
6
+ metadata.gz: 0ad35203fa48c5f106a6717c9ed79b3656921110352a6eaac75dce9b2076d6b949fe89e43976ec4174dd7981eeb80533212c991c0b182c48cd30d6a23f4f21d3
7
+ data.tar.gz: 5290193667e2e88a06d00423ac956c27a3c40dfcc14500c20865e463e8822bdedc62e80ba16d6533e239b6f609e48633866595559e3594798736fcd12c7a89a7
@@ -11,24 +11,32 @@ jobs:
11
11
  fail-fast: false
12
12
  matrix:
13
13
  ruby:
14
- - 2.7
15
- - 3.0
16
14
  - 3.1
15
+ - 3.2
16
+ - 3.3
17
+ - 3.4
17
18
  env:
18
19
  - ARMG_TEST_MYSQL_PORT=10056 ARMG_TEST_MYSQL_ENGINE=MyISAM
19
20
  - ARMG_TEST_MYSQL_PORT=10057 ARMG_TEST_MYSQL_ENGINE=MyISAM
20
21
  - ARMG_TEST_MYSQL_PORT=10057 ARMG_TEST_MYSQL_ENGINE=InnoDB
22
+ - ARMG_TEST_MYSQL_PORT=10080 ARMG_TEST_MYSQL_ENGINE=MyISAM
23
+ - ARMG_TEST_MYSQL_PORT=10080 ARMG_TEST_MYSQL_ENGINE=InnoDB
21
24
  gemfile:
22
- - gemfiles/ar60.gemfile
23
- - gemfiles/ar61.gemfile
24
25
  - gemfiles/ar70.gemfile
26
+ - gemfiles/ar71.gemfile
27
+ - gemfiles/ar72.gemfile
28
+ - gemfiles/ar80.gemfile
29
+ exclude:
30
+ - # Ruby 3.1 is not supported by ActiveRecord 8.0
31
+ ruby: 3.1
32
+ gemfile: gemfiles/ar80.gemfile
25
33
 
26
34
  steps:
27
- - uses: actions/checkout@v2
35
+ - uses: actions/checkout@v4
28
36
  - uses: ruby/setup-ruby@v1
29
37
  with:
30
38
  ruby-version: ${{ matrix.ruby }}
31
- - uses: actions/cache@v2
39
+ - uses: actions/cache@v4
32
40
  with:
33
41
  path: gemfiles/vendor/bundle
34
42
  key: ${{ runner.os }}-gems-${{ matrix.ruby }}-${{ matrix.gemfile }}-${{ hashFiles('ridgepole.gemspec', '**/Gemfile', matrix.gemfile) }}
@@ -37,7 +45,7 @@ jobs:
37
45
 
38
46
  - name: Setup dependencies
39
47
  run: |
40
- for i in {1..60}; do docker-compose up -d && break; sleep 1; done
48
+ for i in {1..60}; do docker compose up -d && break; sleep 1; done
41
49
 
42
50
  gem install bundler
43
51
  bundle config path vendor/bundle
@@ -47,6 +55,7 @@ jobs:
47
55
  function mysql_ping { mysqladmin -u root -h 127.0.0.1 -P $1 ping; }
48
56
  for i in {1..60}; do mysql_ping 10056 && break; sleep 1; done
49
57
  for i in {1..60}; do mysql_ping 10057 && break; sleep 1; done
58
+ for i in {1..60}; do mysql_ping 10080 && break; sleep 1; done
50
59
  env:
51
60
  BUNDLE_GEMFILE: ${{ matrix.gemfile }}
52
61
 
data/.rubocop.yml CHANGED
@@ -25,3 +25,5 @@ Style/HashTransformValues:
25
25
  Enabled: true
26
26
  Gemspec/RequiredRubyVersion:
27
27
  Enabled: false
28
+ Gemspec/DevelopmentDependencies:
29
+ EnforcedStyle: gemspec
data/Appraisals CHANGED
@@ -1,13 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise 'ar60' do
4
- gem 'activerecord', '~> 6.0.0'
3
+ appraise 'ar70' do
4
+ gem 'activerecord', '~> 7.0.0'
5
+ gem 'concurrent-ruby', '1.3.4' # https://stackoverflow.com/questions/79360526
5
6
  end
6
7
 
7
- appraise 'ar61' do
8
- gem 'activerecord', '~> 6.1.0'
8
+ appraise 'ar71' do
9
+ gem 'activerecord', '~> 7.1.0'
9
10
  end
10
11
 
11
- appraise 'ar70' do
12
- gem 'activerecord', '~> 7.0.0'
12
+ appraise 'ar72' do
13
+ gem 'activerecord', '~> 7.2.0'
14
+ end
15
+
16
+ appraise 'ar80' do
17
+ gem 'activerecord', '~> 8.0.0'
13
18
  end
data/CHANGELOG.md CHANGED
@@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
6
 
7
- ## Unreleased
7
+ ## [Unreleased]
8
8
 
9
9
  ### Added
10
10
 
@@ -18,7 +18,26 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
18
18
 
19
19
  ### Security
20
20
 
21
- ## [0.10.0] - 2022-06-18
21
+ ## [v0.12.0] - 2025-04-07
22
+
23
+ ### Added
24
+
25
+ - Support ActiveRecord 7.1, 7.2, and 8.0 [#21](https://github.com/cookpad/armg/pull/21) [#22](https://github.com/cookpad/armg/pull/22)
26
+ - Support Ruby 3.2, 3.3, and 3.4 [#21](https://github.com/cookpad/armg/pull/21)
27
+
28
+ ### Removed
29
+
30
+ - Drop support for ActiveRecord 6.0 and 6.1 [#21](https://github.com/cookpad/armg/pull/21)
31
+ - Drop support for Ruby 2.7 and 3.0 [#21](https://github.com/cookpad/armg/pull/21)
32
+
33
+ ## [v0.11.0] - 2023-03-07
34
+
35
+ ### Added
36
+
37
+ - Support MySQL 8.0 (with limitation) [#18](https://github.com/cookpad/armg/pull/18)
38
+ - Be careful of your SRID when upgrading.
39
+
40
+ ## [v0.10.0] - 2022-06-18
22
41
 
23
42
  ### Added
24
43
 
@@ -29,3 +48,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
29
48
 
30
49
  - Drop support for ActiveRecord 5.0, 5.1, and 5.2 [#15](https://github.com/cookpad/armg/pull/15)
31
50
  - Drop support for Ruby 2.4, 2.5, and 2.6 [#15](https://github.com/cookpad/armg/pull/15)
51
+
52
+ [Unreleased]: https://github.com/cookpad/armg/compare/v0.10.0...HEAD
53
+ [v0.10.0]: https://github.com/cookpad/armg/compare/v0.9.0...v0.10.0
54
+ [v0.11.0]: https://github.com/cookpad/armg/compare/v0.10.0...v0.11.0
55
+ [v0.12.0]: https://github.com/cookpad/armg/compare/v0.11.0...v0.12.0
data/README.md CHANGED
@@ -155,6 +155,20 @@ Apply `Schemafile`
155
155
  No change
156
156
  ```
157
157
 
158
+ ## Supported versions
159
+
160
+ - Ruby 3.1 to 3.4
161
+ - ActiveRecord 7.0 to 8.0
162
+ - MySQL 5.6 to 8.0
163
+
164
+ ### Limitation on MySQL 8.0
165
+
166
+ At the moment, armg gem supports only SRIDs with long-lat axis order in MySQL 8.0.
167
+ e.g. SRID=3857 (WGS 84 / Pseudo-Mercator -- Spherical Mercator, Google Maps, OpenStreetMap, Bing, ArcGIS, ESRI)
168
+
169
+ That is, armg does not support SRIDs with lat-long axis order.
170
+ e.g. SRID=4326 (WGS 84 -- WGS84 - World Geodetic System 1984, used in GPS)
171
+
158
172
  ## Related links
159
173
 
160
174
  * [rgeo/rgeo: Geospatial data library for Ruby](https://github.com/rgeo/rgeo)
data/armg.gemspec CHANGED
@@ -7,8 +7,8 @@ require 'armg/version'
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = 'armg'
9
9
  spec.version = Armg::VERSION
10
- spec.authors = ['Genki Sugawara']
11
- spec.email = ['sugawara@cookpad.com']
10
+ spec.authors = ['Genki Sugawara', 'Cookpad Inc.']
11
+ spec.email = ['kaimono-dev@cookpad.com']
12
12
 
13
13
  spec.summary = 'Add MySQL geometry type to Active Record.'
14
14
  spec.description = 'Add MySQL geometry type to Active Record.'
@@ -23,11 +23,14 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.metadata['rubygems_mfa_required'] = 'true'
25
25
 
26
- spec.add_dependency 'activerecord', '>= 6', '< 8'
26
+ spec.add_dependency 'activerecord', '>= 7'
27
27
  spec.add_dependency 'rgeo'
28
28
  spec.add_development_dependency 'appraisal', '>= 2.2.0'
29
+ spec.add_development_dependency 'base64'
30
+ spec.add_development_dependency 'bigdecimal'
29
31
  spec.add_development_dependency 'bundler'
30
32
  spec.add_development_dependency 'erbh', '>= 0.1.2'
33
+ spec.add_development_dependency 'mutex_m'
31
34
  spec.add_development_dependency 'mysql2'
32
35
  spec.add_development_dependency 'rake'
33
36
  spec.add_development_dependency 'rspec', '~> 3.0'
data/docker-compose.yml CHANGED
@@ -12,3 +12,9 @@ services:
12
12
  image: "mysql:5.7"
13
13
  environment:
14
14
  - MYSQL_ALLOW_EMPTY_PASSWORD=1
15
+ mysql80:
16
+ ports:
17
+ - "10080:3306"
18
+ image: "mysql:8.0"
19
+ environment:
20
+ - MYSQL_ALLOW_EMPTY_PASSWORD=1
@@ -3,5 +3,6 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "activerecord", "~> 7.0.0"
6
+ gem "concurrent-ruby", "1.3.4"
6
7
 
7
8
  gemspec path: "../"
@@ -2,6 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 6.0.0"
5
+ gem "activerecord", "~> 7.1.0"
6
6
 
7
7
  gemspec path: "../"
@@ -2,6 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 6.1.0"
5
+ gem "activerecord", "~> 7.2.0"
6
6
 
7
7
  gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 8.0.0"
6
+
7
+ gemspec path: "../"
data/lib/armg/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Armg
4
- VERSION = '0.10.0'
4
+ VERSION = '0.12.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: armg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
+ - Cookpad Inc.
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2022-06-18 00:00:00.000000000 Z
12
+ date: 2025-04-07 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: activerecord
@@ -16,20 +17,14 @@ dependencies:
16
17
  requirements:
17
18
  - - ">="
18
19
  - !ruby/object:Gem::Version
19
- version: '6'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '8'
20
+ version: '7'
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
24
  requirements:
27
25
  - - ">="
28
26
  - !ruby/object:Gem::Version
29
- version: '6'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '8'
27
+ version: '7'
33
28
  - !ruby/object:Gem::Dependency
34
29
  name: rgeo
35
30
  requirement: !ruby/object:Gem::Requirement
@@ -58,6 +53,34 @@ dependencies:
58
53
  - - ">="
59
54
  - !ruby/object:Gem::Version
60
55
  version: 2.2.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: base64
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: bigdecimal
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
61
84
  - !ruby/object:Gem::Dependency
62
85
  name: bundler
63
86
  requirement: !ruby/object:Gem::Requirement
@@ -86,6 +109,20 @@ dependencies:
86
109
  - - ">="
87
110
  - !ruby/object:Gem::Version
88
111
  version: 0.1.2
112
+ - !ruby/object:Gem::Dependency
113
+ name: mutex_m
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
89
126
  - !ruby/object:Gem::Dependency
90
127
  name: mysql2
91
128
  requirement: !ruby/object:Gem::Requirement
@@ -186,7 +223,7 @@ dependencies:
186
223
  version: '0'
187
224
  description: Add MySQL geometry type to Active Record.
188
225
  email:
189
- - sugawara@cookpad.com
226
+ - kaimono-dev@cookpad.com
190
227
  executables: []
191
228
  extensions: []
192
229
  extra_rdoc_files: []
@@ -206,9 +243,10 @@ files:
206
243
  - bin/setup
207
244
  - docker-compose.yml
208
245
  - gemfiles/.bundle/config
209
- - gemfiles/ar60.gemfile
210
- - gemfiles/ar61.gemfile
211
246
  - gemfiles/ar70.gemfile
247
+ - gemfiles/ar71.gemfile
248
+ - gemfiles/ar72.gemfile
249
+ - gemfiles/ar80.gemfile
212
250
  - lib/armg.rb
213
251
  - lib/armg/abstract_mysql_adapter_ext.rb
214
252
  - lib/armg/armg.rb
@@ -240,7 +278,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
240
278
  - !ruby/object:Gem::Version
241
279
  version: '0'
242
280
  requirements: []
243
- rubygems_version: 3.2.15
281
+ rubygems_version: 3.5.23
244
282
  signing_key:
245
283
  specification_version: 4
246
284
  summary: Add MySQL geometry type to Active Record.