Skip to content

Commit 76ca73a

Browse files
committed
Update CI Rubies / remove unnecessary steps
1 parent 2d0abfd commit 76ca73a

3 files changed

Lines changed: 30 additions & 15 deletions

File tree

.github/workflows/ci.yml

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ on:
88
jobs:
99
sunstone:
1010
name: ActiveRecord::Filter Test
11-
runs-on: ubuntu-22.04
11+
runs-on: ubuntu-24.04
1212

1313
strategy:
14+
fail-fast: false
1415
matrix:
15-
rails: ['7.1.5.1', '7.2.2.1', '8.0.1']
16-
ruby-version: ['3.2', '3.3', '3.4']
16+
rails: ['7.1.5.1', '7.2.2.1', '8.0.2']
17+
ruby-version: ['3.2', '3.3', '3.4', '3.5.0-preview1']
1718
postgres-version: ['17']
1819

1920
steps:
@@ -53,14 +54,18 @@ jobs:
5354

5455
ar-postgresql:
5556
name: ActiveRecord PostgresQL Test
56-
runs-on: ubuntu-22.04
57+
runs-on: ubuntu-24.04
5758

5859
strategy:
5960
fail-fast: false
6061
matrix:
61-
rails: ['7.1.5.1', '7.2.2.1', '8.0.1']
62-
ruby-version: ['3.3']
62+
rails: ['7.1.5.1', '7.2.2.1', '8.0.2']
63+
ruby-version: ['3.4']
6364
postgres-version: ['17']
65+
exclude:
66+
- rails: '7.1.5.1'
67+
ruby-version: '3.4'
68+
postgres-version: '17'
6469

6570
steps:
6671
- name: Install Postgresql
@@ -108,14 +113,17 @@ jobs:
108113
109114
ar-sqlite:
110115
name: ActiveRecord SQLite Test
111-
runs-on: ubuntu-22.04
116+
runs-on: ubuntu-24.04
112117

113118

114119
strategy:
115120
fail-fast: false
116121
matrix:
117-
rails: ['7.1.5.1', '7.2.2.1', '8.0.1']
118-
ruby-version: ['3.3']
122+
rails: ['7.1.5.1', '7.2.2.1', '8.0.2']
123+
ruby-version: ['3.4']
124+
exclude:
125+
- rails: '7.1.5.1'
126+
ruby-version: '3.4'
119127

120128
steps:
121129
- uses: actions/checkout@v4
@@ -152,13 +160,16 @@ jobs:
152160
153161
ar-mysql:
154162
name: ActiveRecord MySQL Test
155-
runs-on: ubuntu-22.04
163+
runs-on: ubuntu-24.04
156164

157165
strategy:
158166
fail-fast: false
159167
matrix:
160-
rails: ['7.1.5.1', '7.2.2.1', '8.0.1']
161-
ruby-version: ['3.3']
168+
rails: ['7.1.5.1', '7.2.2.1', '8.0.2']
169+
ruby-version: ['3.4']
170+
exclude:
171+
- rails: '7.1.5.1'
172+
ruby-version: '3.4'
162173

163174
steps:
164175
- name: Install MySQL

lib/active_record/filter/filter_clause_factory.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
class ActiveRecord::Filter::FilterClauseFactory
22

33
def initialize(model, predicate_builder)
4-
@model = model
4+
@klass = model
55
@predicate_builder = predicate_builder
66
end
77

@@ -17,6 +17,6 @@ def build(filters, alias_tracker)
1717

1818
protected
1919

20-
attr_reader :model, :predicate_builder
20+
attr_reader :klass, :predicate_builder
2121

2222
end

lib/active_record/filter/predicate_builder_extension.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,11 @@ def build_filter_joins(klass, filters, relations=[], custom=[])
6868
elsif !klass.columns_hash.has_key?(key.to_s) && key.to_s.end_with?('_ids') && reflection = klass._reflections[key.to_s.gsub(/_ids$/, 's').to_sym]
6969
relations << reflection.name
7070
elsif reflection = klass.reflect_on_all_associations(:has_and_belongs_to_many).find {|r| r.join_table == key.to_s && value.keys.first.to_s == r.association_foreign_key.to_s }
71-
reflection = klass._reflections[klass._reflections[reflection.name].send(:delegate_reflection).options[:through]]
71+
reflection = klass._reflections[
72+
# TODO: remove right || after droping support for Rails < 7.2
73+
(klass._reflections[reflection.name] || klass._reflections[reflection.name.to_s])
74+
.send(:delegate_reflection).options[:through]
75+
]
7276
relations << { reflection.name => build_filter_joins(reflection.klass, value) }
7377
else
7478
{key => value}

0 commit comments

Comments
 (0)