# frozen_string_literal: true # Obtiene o actualiza el contenido de un objeto, usando las credenciales # del sitio. # # XXX: Esto usa las credenciales del sitio para volver el objeto # disponible para todo el CMS. Asumimos que el objeto devuelto es el # mismo para todo el mundo y las credenciales solo son para # autenticación. class ActivityPub class FetchJob < ApplicationJob def perform(site:, object:) ActivityPub::Object.transaction do response = site.social_inbox.dereferencer.get(uri: object.uri) # @todo Fallar cuando la respuesta no funcione? return unless response.ok? return unless response.miss? object.update(content: FastJsonparser.parse(response.body)) end end end end