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
1 parent 21cd60e commit c04bcb6
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 @@ -50,16 +50,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 @@ -1543,9 +1543,9 @@ def index
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 c04bcb6

Please sign in to comment.