Fix error ActiveJob passed class with permitted?
Resolves #48561 Co-authored-by: Sampat Badhe <sampatbadhe@gmail.com>
This commit is contained in:
parent
5899adad4f
commit
719e49485f
@ -90,7 +90,7 @@ def serialize_argument(argument)
|
||||
result = serialize_hash(argument)
|
||||
result[aj_hash_key] = symbol_keys
|
||||
result
|
||||
when -> (arg) { arg.respond_to?(:permitted?) }
|
||||
when -> (arg) { arg.respond_to?(:permitted?) && arg.respond_to?(:to_h) }
|
||||
serialize_indifferent_hash(argument.to_h)
|
||||
else
|
||||
if BigDecimal === argument && !ActiveJob.use_big_decimal_serializer
|
||||
|
@ -16,6 +16,11 @@ class ClassArgument; end
|
||||
|
||||
class ClassArgument; end
|
||||
|
||||
class MyClassWithPermitted
|
||||
def self.permitted?
|
||||
end
|
||||
end
|
||||
|
||||
setup do
|
||||
@person = Person.find("5")
|
||||
end
|
||||
@ -112,6 +117,11 @@ class ClassArgument; end
|
||||
)
|
||||
end
|
||||
|
||||
# Regression test to #48561
|
||||
test "serialize a class with permitted? defined" do
|
||||
assert_arguments_unchanged MyClassWithPermitted
|
||||
end
|
||||
|
||||
test "serialize a hash" do
|
||||
symbol_key = { a: 1 }
|
||||
string_key = { "a" => 1 }
|
||||
|
Loading…
Reference in New Issue
Block a user