0
0
Fork 0

Rails 7.1 update (#25963)

This commit is contained in:
Matt Jankowski 2023-10-23 13:58:29 -04:00 committed by GitHub
parent 379115e601
commit e93a75f1a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 122 additions and 89 deletions

View file

@ -4,7 +4,7 @@ module HasUserSettings
extend ActiveSupport::Concern
included do
serialize :settings, UserSettingsSerializer
serialize :settings, coder: UserSettingsSerializer
end
def settings_attributes=(attributes)

View file

@ -15,7 +15,7 @@ module StatusSafeReblogInsert
#
# The code is kept similar to ActiveRecord::Persistence code and calls it
# directly when we are not handling a reblog.
def _insert_record(values)
def _insert_record(values, returning)
return super unless values.is_a?(Hash) && values['reblog_of_id']&.value.present?
primary_key = self.primary_key
@ -34,7 +34,7 @@ module StatusSafeReblogInsert
# Instead, we use a custom builder when a reblog is happening:
im = _compile_reblog_insert(values)
connection.insert(im, "#{self} Create", primary_key || false, primary_key_value).tap do |result|
connection.insert(im, "#{self} Create", primary_key || false, primary_key_value, returning: returning).tap do |result|
# Since we are using SELECT instead of VALUES, a non-error `nil` return is possible.
# For our purposes, it's equivalent to a foreign key constraint violation
raise ActiveRecord::InvalidForeignKey, "(reblog_of_id)=(#{values['reblog_of_id'].value}) is not present in table \"statuses\"" if result.nil?