Skip to content

Commit 8d95c66

Browse files
authored
Merge pull request #107 from byroot/update-test-matrix
Fix compatibility with Rails 7.2.0.alpha
2 parents c6a5c74 + 043555d commit 8d95c66

File tree

4 files changed

+21
-5
lines changed

4 files changed

+21
-5
lines changed

.github/workflows/ruby.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,18 @@ jobs:
99
strategy:
1010
fail-fast: false
1111
matrix:
12-
ruby: ['2.7', '3.0', '3.1', '3.2']
13-
rails: ['6.1', '7.0', 'edge']
12+
ruby: ['2.7', '3.0', '3.1', '3.2', '3.3']
13+
rails: ['6.1', '7.0', '7.1', 'edge']
1414
timezone_aware: [0, 1]
1515
exclude:
1616
- ruby: '3.2'
1717
rails: '6.1'
18+
- ruby: '3.3'
19+
rails: '6.1'
20+
- ruby: '2.7'
21+
rails: 'edge'
22+
- ruby: '3.0'
23+
rails: 'edge'
1824
env:
1925
BUNDLE_GEMFILE: gemfiles/Gemfile.ar-${{ matrix.rails }}
2026
TIMEZONE_AWARE: ${{ matrix.timezone_aware }}

gemfiles/Gemfile.ar-7.1

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
source 'https://rubygems.org'
2+
3+
gemspec path: '..'
4+
5+
gem 'activerecord', '~> 7.0.0'

lib/active_record/typed_store/extension.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,12 @@ def typed_store(store_attribute, options={}, &block)
2222
typed_klass = TypedHash.create(dsl.fields.values)
2323
const_set("#{store_attribute}_hash".camelize, typed_klass)
2424

25-
if ActiveRecord.version >= Gem::Version.new('6.1.0.alpha')
25+
if ActiveRecord.version >= Gem::Version.new('7.2.0.alpha')
26+
decorate_attributes([store_attribute]) do |name, subtype|
27+
subtype = subtype.subtype if subtype.is_a?(Type)
28+
Type.new(typed_klass, dsl.coder, subtype)
29+
end
30+
elsif ActiveRecord.version >= Gem::Version.new('6.1.0.alpha')
2631
attribute(store_attribute) do |subtype|
2732
subtype = subtype.subtype if subtype.is_a?(Type)
2833
Type.new(typed_klass, dsl.coder, subtype)

spec/spec_helper.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
Time.zone = 'UTC'
1010

1111
if ActiveRecord.respond_to?(:yaml_column_permitted_classes)
12-
ActiveRecord.yaml_column_permitted_classes |= ['Date', 'Time', 'BigDecimal']
12+
ActiveRecord.yaml_column_permitted_classes |= [Date, Time, BigDecimal]
1313
elsif ActiveRecord::Base.respond_to?(:yaml_column_permitted_classes)
14-
ActiveRecord::Base.yaml_column_permitted_classes |= ['Date', 'Time', 'BigDecimal']
14+
ActiveRecord::Base.yaml_column_permitted_classes |= [Date, Time, BigDecimal]
1515
end
1616

1717
RSpec.configure do |config|

0 commit comments

Comments
 (0)