@@ -17,7 +17,11 @@ def self._reset
1717 end
1818
1919 def self . read
20- new ( **YAML . safe_load ( Pathname . new ( CONFIG_FILE ) . read , [ Symbol ] ) . symbolize_keys )
20+ if ::Gem ::Version . new ( RUBY_VERSION ) >= ::Gem ::Version . new ( '3.1' )
21+ new ( **YAML . safe_load ( Pathname . new ( CONFIG_FILE ) . read , permitted_classes : [ Symbol ] , symbolize_names : true ) )
22+ else
23+ new ( **YAML . safe_load ( Pathname . new ( CONFIG_FILE ) . read , [ Symbol ] , symbolize_names : true ) )
24+ end
2125 end
2226
2327 def self . load
@@ -30,11 +34,21 @@ def initialize(ruby:, activerecord:, db:, dbversions: nil, exclude: nil, notify:
3034 @db = Array . wrap ( db )
3135 @dbversions = ( dbversions || { } ) . symbolize_keys
3236 @exclude = Array . wrap ( exclude ) . map ( &:symbolize_keys ) . map { |tuple | Tuple . new ( **tuple . transform_values ( &:to_s ) ) }
33- if @activerecord . include? ( '5.2' )
34- ruby3 = ::Gem ::Version . new ( '3.0' )
37+ @activerecord . each do |ar_version |
38+ ar_check = ::Gem ::Version . new ( ar_version )
39+
40+ if ar_check < ::Gem ::Version . new ( '6.0' )
41+ ruby3 = ::Gem ::Version . new ( '3.0' )
42+
43+ @ruby . select { |e | ::Gem ::Version . new ( e ) >= ruby3 } . each do |v |
44+ @exclude << Tuple . new ( ruby : v , activerecord : ar_version )
45+ end
46+ elsif ar_check >= ::Gem ::Version . new ( '7.0' )
47+ ruby27 = ::Gem ::Version . new ( '2.7' )
3548
36- @ruby . select { |e | ::Gem ::Version . new ( e ) >= ruby3 } . each do |v |
37- @exclude << Tuple . new ( ruby : v , activerecord : '5.2' )
49+ @ruby . select { |e | ::Gem ::Version . new ( e ) < ruby27 } . each do |v |
50+ @exclude << Tuple . new ( ruby : v , activerecord : ar_version )
51+ end
3852 end
3953 end
4054 unless notify . nil?
0 commit comments