arel-extensions 7.0.3 → 8.0.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: c1a0a2f6ac5e4a3956f46fea9d82cf3771b71d73bef922c3c2cc84a2614684b7
4
- data.tar.gz: bb688aea1ed1c5a146e0953a008024b43e6028b2e56e0717dd3573be97518f15
3
+ metadata.gz: d05a268b8339c9e578ab4f853d761b01f0722b639e1a87470a1aa4e26bb93772
4
+ data.tar.gz: b1372b85e0b46bb2513dba252fc7eb6ea972a591b08369bbc1f1640d0136d3ee
5
5
  SHA512:
6
- metadata.gz: b583428d45935c98ef0e3e7af8307b2367f5d382abd6c522d253e9d9692ba0d564853f7d364394536a59df6a3c946f78241608b4859a1c130079961e5707603f
7
- data.tar.gz: 6d1dae094b8956f5b3a0518c4bed1a0fc4a4c46763b5f5bded4ad6ee7cfc79b2ad8dabf7062adc11b40d86d90be20cd48615cc6f31b957155734dc0efdac0123
6
+ metadata.gz: a5f680f90f52892b29d03c25ae9ed26e4c5cf783e27aadd196852e659bc3215fb8f9dabf55edef7ce9b588957e4a295a4353ea274c57b9955c78f7fb8f584f61
7
+ data.tar.gz: e8e099b793021a12289c2965d426bc9e561d3cc31b1f341e217d2670f40ac6918d452d253bbd2a9413e4ffdc1d8d0d30b5e31595e641504b51c1d92b55ef1214
@@ -7,10 +7,14 @@ jobs:
7
7
  name: Arel::Extensions Test
8
8
  runs-on: ubuntu-22.04
9
9
  strategy:
10
+ fail-fast: false
10
11
  matrix:
11
- rails: ['7.0.8.4', '7.1.4', '7.2.1']
12
- ruby-version: ['3.1', '3.2', '3.3']
13
- postgres-version: ['15']
12
+ rails: ['7.1.5.1', '7.2.2.1', '8.0.1']
13
+ ruby-version: ['3.1', '3.2', '3.3', '3.4']
14
+ postgres-version: ['17']
15
+ exclude:
16
+ - rails: '8.0.1'
17
+ ruby-version: '3.1'
14
18
 
15
19
  steps:
16
20
  - name: Install Postgresql
@@ -35,16 +39,21 @@ jobs:
35
39
  ruby-version: ${{ matrix.ruby-version }}
36
40
  bundler-cache: false # runs 'bundle install' and caches installed gems automatically
37
41
 
38
- - name: Test Geos
42
+ - name: Fix activerecord-postgis-adapter
43
+ if: ${{ matrix.rails == '8.0.1' }}
39
44
  run: |
40
- bundle exec ruby -e "require 'rgeo'; puts RGeo::Geos.capi_supported?; puts RGeo::Geos::CAPIGeometryMethods"
45
+ echo "gem 'activerecord-postgis-adapter', github: 'rgeo/activerecord-postgis-adapter', branch: 'rails8'" >> Gemfile
41
46
 
42
47
  - run: |
43
48
  sed -i -e "s/gem.add_dependency 'activerecord', '>= [[:digit:]]\+.[[:digit:]]\+.[[:digit:]]\+'/gem.add_dependency 'activerecord', '${{ matrix.rails }}'/" arel-extensions.gemspec
44
49
  rm -f Gemfile.lock
45
50
  bundle
46
51
 
47
- - run: bundle exec rake test
52
+ - name: Test Geos
53
+ run: |
54
+ bundle exec ruby -e "require 'rgeo'; puts RGeo::Geos.capi_supported?; puts RGeo::Geos::CAPIGeometryMethods"
55
+
56
+ - run: bundle exec rake test --trace
48
57
 
49
58
  ar-postgresql:
50
59
  name: ActiveRecord PostgresQL Test
@@ -52,9 +61,9 @@ jobs:
52
61
 
53
62
  strategy:
54
63
  matrix:
55
- rails: ['v7.0.8.4', 'v7.1.4']
64
+ rails: ['7.1.5.1', '7.2.2.1', '8.0.1']
56
65
  ruby-version: ['3.3']
57
- postgres-version: ['15']
66
+ postgres-version: ['17']
58
67
 
59
68
  steps:
60
69
  - name: Install Postgresql
@@ -80,7 +89,7 @@ jobs:
80
89
 
81
90
  - name: Download Rails
82
91
  run: |
83
- git clone --branch ${{ matrix.rails }} https://github.com/rails/rails.git ~/rails
92
+ git clone --branch v${{ matrix.rails }} https://github.com/rails/rails.git ~/rails
84
93
  pushd ~/rails
85
94
  cat /home/runner/work/_temp/*.sh
86
95
  sed -i "s/Gem.ruby, '-w'/Gem.ruby, '-w0'/" ~/rails/activerecord/Rakefile
@@ -95,8 +104,8 @@ jobs:
95
104
 
96
105
  - run: |
97
106
  pushd ~/rails/activerecord
98
- bundle exec rake db:postgresql:rebuild postgresql:test
99
- bundle exec rake db:postgresql:rebuild postgresql:isolated_test
107
+ bundle exec rake db:postgresql:rebuild postgresql:test --trace
108
+ bundle exec rake db:postgresql:rebuild postgresql:isolated_test --trace
100
109
 
101
110
  ar-sqlite:
102
111
  name: ActiveRecord SQLite Test
@@ -104,8 +113,9 @@ jobs:
104
113
 
105
114
  strategy:
106
115
  matrix:
107
- rails: ['v7.0.8.4', 'v7.1.4']
116
+ rails: ['7.1.5.1', '7.2.2.1', '8.0.1']
108
117
  ruby-version: ['3.3']
118
+ postgres-version: ['17']
109
119
 
110
120
  steps:
111
121
  - uses: actions/checkout@v4
@@ -117,7 +127,7 @@ jobs:
117
127
 
118
128
  - name: Download Rails
119
129
  run: |
120
- git clone --branch ${{ matrix.rails }} https://github.com/rails/rails.git ~/rails
130
+ git clone --branch v${{ matrix.rails }} https://github.com/rails/rails.git ~/rails
121
131
  pushd ~/rails
122
132
  cat /home/runner/work/_temp/*.sh
123
133
  sed -i "s/Gem.ruby, '-w'/Gem.ruby, '-w0'/" ~/rails/activerecord/Rakefile
@@ -132,11 +142,11 @@ jobs:
132
142
 
133
143
  - run: |
134
144
  pushd ~/rails/activerecord
135
- bundle exec rake sqlite3:test
145
+ bundle exec rake sqlite3:test --trace
136
146
  rm test/db/*.sqlite3 test/fixtures/*.sqlite3
137
- bundle exec rake sqlite3:isolated_test
147
+ bundle exec rake sqlite3:isolated_test --trace
138
148
  rm test/db/*.sqlite3 test/fixtures/*.sqlite3
139
- bundle exec rake sqlite3_mem:test
149
+ bundle exec rake sqlite3_mem:test --trace
140
150
 
141
151
  ar-mysql:
142
152
  name: ActiveRecord MySQL Test
@@ -145,8 +155,9 @@ jobs:
145
155
 
146
156
  strategy:
147
157
  matrix:
148
- rails: ['v7.0.8.4', 'v7.1.4']
158
+ rails: ['7.1.5.1', '7.2.2.1', '8.0.1']
149
159
  ruby-version: ['3.3']
160
+ postgres-version: ['17']
150
161
 
151
162
  steps:
152
163
  - name: Install MySQL
@@ -164,7 +175,7 @@ jobs:
164
175
 
165
176
  - name: Download Rails
166
177
  run: |
167
- git clone --branch ${{ matrix.rails }} https://github.com/rails/rails.git ~/rails
178
+ git clone --branch v${{ matrix.rails }} https://github.com/rails/rails.git ~/rails
168
179
  pushd ~/rails
169
180
  cat /home/runner/work/_temp/*.sh
170
181
  sed -i "s/Gem.ruby, '-w'/Gem.ruby, '-w0'/" ~/rails/activerecord/Rakefile
@@ -179,5 +190,5 @@ jobs:
179
190
 
180
191
  - run: |
181
192
  pushd ~/rails/activerecord
182
- bundle exec rake db:mysql:rebuild mysql2:test
183
- bundle exec rake db:mysql:rebuild mysql2:isolated_test
193
+ bundle exec rake db:mysql:rebuild mysql2:test --trace
194
+ bundle exec rake db:mysql:rebuild mysql2:isolated_test --trace
data/Gemfile CHANGED
@@ -1,4 +1,5 @@
1
1
  source "https://rubygems.org"
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
2
3
 
3
4
  # Specify your gem's dependencies in sunstone.gemspec
4
5
  gemspec
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ require "rake/testtask"
8
8
  # Test Task
9
9
  Rake::TestTask.new do |t|
10
10
  t.libs << 'lib' << 'test'
11
- t.test_files = FileList['test/**/*_test.rb']
11
+ t.test_files = FileList[ARGV[1] ? ARGV[1] : 'test/**/*_test.rb']
12
12
  # t.warning = true
13
13
  # t.verbose = true
14
14
  end
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
13
13
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
14
  gem.require_paths = ["lib"]
15
15
 
16
- gem.add_dependency 'activerecord', '>= 7.0.0', '< 7.2'
16
+ gem.add_dependency 'activerecord', '>= 7.0.0', '< 9.0'
17
17
 
18
18
  gem.add_development_dependency "bundler"
19
19
  gem.add_development_dependency "debug"
@@ -24,6 +24,6 @@ Gem::Specification.new do |gem|
24
24
  gem.add_development_dependency "webmock"
25
25
  gem.add_development_dependency 'pg'
26
26
  gem.add_development_dependency 'rgeo'
27
- gem.add_development_dependency "activerecord-postgis-adapter"
27
+ gem.add_development_dependency "activerecord-postgis-adapter", '>= 8.0'
28
28
 
29
29
  end
@@ -24,10 +24,18 @@ module ActiveRecord::QueryMethods
24
24
  end
25
25
  alias uniq_on! distinct_on!
26
26
 
27
- def build_arel_with_distinct_on(aliases = nil)
28
- arel = build_arel_without_distinct_on(aliases)
29
- arel.distinct_on(self.distinct_on_values) if !self.distinct_on_values.empty?
30
- arel
27
+ if ActiveRecord >= "7.2"
28
+ def build_arel_with_distinct_on(connection, aliases = nil)
29
+ arel = build_arel_without_distinct_on(connection, aliases)
30
+ arel.distinct_on(self.distinct_on_values) if !self.distinct_on_values.empty?
31
+ arel
32
+ end
33
+ else
34
+ def build_arel_with_distinct_on(aliases = nil)
35
+ arel = build_arel_without_distinct_on(aliases)
36
+ arel.distinct_on(self.distinct_on_values) if !self.distinct_on_values.empty?
37
+ arel
38
+ end
31
39
  end
32
40
  alias_method :build_arel_without_distinct_on, :build_arel
33
41
  alias_method :build_arel, :build_arel_with_distinct_on
@@ -1,5 +1,5 @@
1
1
  module Arel
2
2
  module Extensions
3
- VERSION = '7.0.3'
3
+ VERSION = '8.0.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arel-extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.3
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Bracy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-09 00:00:00.000000000 Z
11
+ date: 2025-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 7.0.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '7.2'
22
+ version: '9.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: 7.0.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '7.2'
32
+ version: '9.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -162,14 +162,14 @@ dependencies:
162
162
  requirements:
163
163
  - - ">="
164
164
  - !ruby/object:Gem::Version
165
- version: '0'
165
+ version: '8.0'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - ">="
171
171
  - !ruby/object:Gem::Version
172
- version: '0'
172
+ version: '8.0'
173
173
  description:
174
174
  email:
175
175
  - jonbracy@gmail.com
@@ -242,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
242
  - !ruby/object:Gem::Version
243
243
  version: '0'
244
244
  requirements: []
245
- rubygems_version: 3.5.11
245
+ rubygems_version: 3.5.21
246
246
  signing_key:
247
247
  specification_version: 4
248
248
  summary: Adds support for missing SQL operators and functions to Arel