Skip to content

Commit

Permalink
Merge pull request #45593 from skipkayhil/fix-6-1-compat
Browse files Browse the repository at this point in the history
Fix 6.1 compatability with ruby 2.5
  • Loading branch information
eileencodes committed Jul 15, 2022
2 parents efc58ab + 6a421e4 commit 571b4d5
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
8 changes: 6 additions & 2 deletions activerecord/lib/active_record/coders/yaml_column.rb
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,20 @@ def check_arity_of_constructor
def yaml_load(payload)
if ActiveRecord::Base.use_yaml_unsafe_load
YAML.unsafe_load(payload)
else
elsif YAML.method(:safe_load).parameters.include?([:key, :permitted_classes])
YAML.safe_load(payload, permitted_classes: ActiveRecord::Base.yaml_column_permitted_classes, aliases: true)
else
YAML.safe_load(payload, ActiveRecord::Base.yaml_column_permitted_classes, [], true)
end
end
else
def yaml_load(payload)
if ActiveRecord::Base.use_yaml_unsafe_load
YAML.load(payload)
else
elsif YAML.method(:safe_load).parameters.include?([:key, :permitted_classes])
YAML.safe_load(payload, permitted_classes: ActiveRecord::Base.yaml_column_permitted_classes, aliases: true)
else
YAML.safe_load(payload, ActiveRecord::Base.yaml_column_permitted_classes, [], true)
end
end
end
Expand Down
4 changes: 2 additions & 2 deletions railties/test/application/configuration_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2244,9 +2244,9 @@ class D < C
assert ActiveRecord::Base.use_yaml_unsafe_load
end

test "config.active_record.yaml_column_permitted_classes is [] by default" do
test "config.active_record.yaml_column_permitted_classes is [Symbol] by default" do
app "production"
assert_equal([], ActiveRecord::Base.yaml_column_permitted_classes)
assert_equal([Symbol], ActiveRecord::Base.yaml_column_permitted_classes)
end

test "config.active_record.yaml_column_permitted_classes can be configured" do
Expand Down

0 comments on commit 571b4d5

Please sign in to comment.