arel-extensions 7.0.3 → 8.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: 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