The code powering m.abunchtell.com https://m.abunchtell.com
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

40 строки
986 B

  1. # frozen_string_literal: true
  2. class InlineRenderer
  3. def initialize(object, current_account, template)
  4. @object = object
  5. @current_account = current_account
  6. @template = template
  7. end
  8. def render
  9. case @template
  10. when :status
  11. serializer = REST::StatusSerializer
  12. when :notification
  13. serializer = REST::NotificationSerializer
  14. when :conversation
  15. serializer = REST::ConversationSerializer
  16. when :announcement
  17. serializer = REST::AnnouncementSerializer
  18. when :reaction
  19. serializer = REST::ReactionSerializer
  20. else
  21. return
  22. end
  23. serializable_resource = ActiveModelSerializers::SerializableResource.new(@object, serializer: serializer, scope: current_user, scope_name: :current_user)
  24. serializable_resource.as_json
  25. end
  26. def self.render(object, current_account, template)
  27. new(object, current_account, template).render
  28. end
  29. private
  30. def current_user
  31. @current_account&.user
  32. end
  33. end