Fix ActivityPub context not being dynamically computed (#11746)
* Fix contexts not being dynamically included Fixes #11649 * Refactor Note context in serializer * Refactor Actor serializer
This commit is contained in:
parent
ec1dd865fb
commit
692c5b439a
6 changed files with 24 additions and 29 deletions
|
@ -3,22 +3,3 @@ ActiveModelSerializers.config.tap do |config|
|
|||
end
|
||||
|
||||
ActiveSupport::Notifications.unsubscribe(ActiveModelSerializers::Logging::RENDER_EVENT)
|
||||
|
||||
class ActiveModel::Serializer::Reflection
|
||||
# We monkey-patch this method so that when we include associations in a serializer,
|
||||
# the nested serializers can send information about used contexts upwards back to
|
||||
# the root. We do this via instance_options because the nesting can be dynamic.
|
||||
def build_association(parent_serializer, parent_serializer_options, include_slice = {})
|
||||
serializer = options[:serializer]
|
||||
|
||||
parent_serializer_options.merge!(named_contexts: serializer._named_contexts, context_extensions: serializer._context_extensions) if serializer.respond_to?(:_named_contexts)
|
||||
|
||||
association_options = {
|
||||
parent_serializer: parent_serializer,
|
||||
parent_serializer_options: parent_serializer_options,
|
||||
include_slice: include_slice,
|
||||
}
|
||||
|
||||
ActiveModel::Serializer::Association.new(self, association_options)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue